Spasti Shell atau SSH adalah protokol rangkaian sumber terbuka yang terkenal. Protokol digunakan untuk masuk ke mesin lain dari jauh. Oleh itu, akan mudah untuk melaksanakan banyak perintah dan melancarkan aplikasi apa pun pada peranti jauh dengan lancar tanpa perlu berada di dekat mesin jarak jauh. Selain itu, protokol SSH sangat dipercayai dan selamat. Pengguna selalu bergantung pada protokol SSH untuk menyalin fail antara dua pelbagai peranti.
Secara amnya, untuk mewujudkan sambungan SSH dengan mesin jauh, anda perlu memasukkan nama pengguna dan kata laluan untuk mesin jauh. Tetapi bagaimana jika anda memerlukan kaedah yang lebih selamat daripada menggunakan nama pengguna dan kata laluan dalam setiap log masuk? Ini dapat dilakukan dengan menggunakan kunci SSH yang dihasilkan dari mesin pelanggan kemudian disalin ke mesin jauh. Dengan sedikit konfigurasi tambahan, anda akan dapat masuk ke mesin jauh dengan selamat tanpa menggunakan nama pengguna dan kata laluan setiap kali. Menggunakan kekunci SSH dan bukannya menggunakan nama pengguna dan kata laluan dalam setiap log masuk adalah jauh lebih selamat; hanya mesin yang memegang kekunci SSH yang betul dapat log masuk dengan cepat.
Hari ini kami akan menunjukkan kepada anda cara menjalin sambungan SSH tanpa perlu memasukkan kata laluan mesin jauh. Biasanya, menggunakan log masuk tanpa kata laluan boleh digunakan untuk memindahkan fail antara pelbagai mesin dengan cepat. Tetapi sebelum memulakan tutorial kami, mari kita lihat persekitaran kita.
Persediaan Alam Sekitar
Adalah lebih baik jika anda mempunyai dua mesin, pelanggan dan mesin jarak jauh. Hampir semua kerja akan dilakukan dari mesin pelanggan yang akan digunakan untuk menyambung ke peranti jauh. Kedua-dua peranti tersebut adalah Ubuntu dengan IP berikut
- The pelanggan mesin mempunyai IP 192.168.1.20 dengan nama pengguna tuts.
- The jauh mesin mempunyai IP 192.168.1.30 dengan nama pengguna hendadel.
Satu perkara lagi sebelum memulakan, pastikan kedua-dua mesin terkini menggunakan arahan berikut:
sudo apt update sudo apt upgrade
Sekarang mari mulakan panduan kami.
Menyiapkan Login SSH Tanpa Kata Laluan
Langkah 1. Dari mesin pelanggan, pastikan jika ada kunci SSH yang dihasilkan sebelum menggunakan perintah seterusnya.
ls -al ~ /.ssh / id_ *.pub
Seperti yang anda perhatikan, jika anda belum pernah menghasilkan kunci SSH, maka anda akan mendapat mesej "Tidak ada fail atau direktori seperti itu". Jika tidak, anda akan mendapat kunci yang tersedia dengan cepat sekiranya ada.
Langkah 2. Oleh kerana anda tidak mempunyai kunci SSH yang dihasilkan sebelumnya, maka sudah waktunya untuk menghasilkan kunci SSH baru menggunakan arahan berikut:
ssh-keygen -t rsa -b 4096
Biasanya arahan sebelumnya akan menghasilkan dua kunci SSH baru dalam dua fail yang berbeza. Kedua-dua fail disimpan dalam direktori tersembunyi bernama “.ssh ”di bawah direktori utama pengguna semasa. Anda boleh menemui kunci peribadi yang disimpan dalam fail bernama id_dsa dan kunci awam lain dalam fail bernama id_dsa.pub. Selain itu, anda akan diminta untuk menambahkan frasa laluan yang digunakan untuk melindungi kunci yang dihasilkan, dan anda boleh menggunakannya semasa menyambung melalui SSH. Tetapi anda boleh menekan "MasukkanButang untuk tidak menggunakan satu.
Langkah 3. Sekarang anda boleh menyenaraikan kandungan .direktori ssh untuk memastikan bahawa kedua-dua kunci dibuat.
ls -l / rumah / tuts /.ssh /
Langkah 4. Anda juga boleh memastikan bahawa fail mempunyai kunci di dalamnya menggunakan arahan berikut:
ssh-keygen -lv
Langkah 5. Untuk melihat kandungan fail kunci awam.
kucing .ssh / id_rsa.pub
Langkah 6. Sekarang dari mesin jauh, pastikan anda memasang SSH. Sekiranya tidak dipasang, anda boleh menggunakan arahan berikut.
sudo apt pasang ssh
Langkah 7. Kembali ke mesin pelanggan, sambungkan ke mesin jauh, dan buat direktori baru bernama .ssh.
sudo ssh remote_machine_username @ remote_machine_IP mkdir -p .ssh
Pastikan untuk mengganti remote_machine_username dengan nama pengguna sebenar dan remote_machine_IP dengan IP jarak jauh.
Langkah 8. Seterusnya, mari salin dari mesin pelanggan kunci SSH awam yang dihasilkan sebelumnya ke mesin jauh. Ini akan membantu jika anda menampal kunci awam ke fail bernama "Kunci_berkuasa". Sangat digalakkan untuk tidak menukar nama fail kerana ketika anda akan membuat sambungan SSH, fail pertama yang akan diperiksa oleh sistem operasi adalah "Kunci_berkuasa" fail. Sekiranya sistem tidak menemui fail, maka anda akan diminta memasukkan nama pengguna dan kata laluan untuk dapat masuk ke mesin jauh.
kucing sudo .ssh / id_rsa.pub | ssh remote_machine_username @ remote_machine_IP 'kucing >> .ssh / kunci_kesahan '
Langkah 9. Dari mesin jauh, pastikan kunci awam berjaya disalin dengan nama_kunci_pengguna.
ls .ssh / kucing .ssh / kunci_kesahan
Langkah 10. Sekarang dari mesin pelanggan, mari kita cuba mewujudkan sambungan SSH tanpa nama pengguna dan kata laluan.
ssh remote_machine_username @ remote_machine_IP
Seperti yang anda perhatikan, anda tidak akan diminta memasukkan nama pengguna atau kata laluan.
Lumpuhkan Pengesahan Kata Laluan
Untuk mematikan pengesahan kata laluan menggunakan kunci awam, pertama, anda perlu mengedit fail konfigurasi SSH dari mesin jauh dan mematikan pilihan pengesahan kata laluan. Berikut adalah langkah-langkah untuk melakukannya.
Langkah 1. Dari mesin jauh, buka fail konfigurasi ssh menggunakan editor kegemaran anda.
vi / etc / ssh / sshd_config
Langkah 2. Tatal ke hujung fail konfigurasi SSH dan tambahkan beberapa baris seterusnya untuk mematikan pengesahan kata laluan:
RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no UsePAM no ChallengeResponseAuthentication no
Langkah 3. Simpan dan keluar fail anda.
Langkah 4. Akhirnya, mulakan semula perkhidmatan SSH dan cuba buat sambungan baru dari mesin pelanggan ke mesin jauh lagi.
Itu sahaja! Anda baru sahaja belajar bagaimana membuat sambungan SSH tanpa kata laluan. Saya harap anda menikmatinya.