Persediaan Log masuk SSH Tanpa Kata Laluan untuk Pelbagai Pelayan Jauh Menggunakan Skrip
- 1719
- 409
- Noah Torp
Pengesahan berasaskan kunci SSH (juga dikenali sebagai pengesahan kunci awam) membolehkan pengesahan yang kurang kata laluan dan ia adalah penyelesaian yang lebih selamat dan lebih baik daripada pengesahan kata laluan. Satu kelebihan utama Log masuk Kata Laluan SSH, apalagi keselamatan adalah bahawa ia membolehkan automasi pelbagai jenis proses silang pelayan.
Baca yang berkaitan: Bagaimana untuk menjamin dan mengeras pelayan opensshDalam artikel ini, kami akan menunjukkan cara membuat pasangan kunci SSH dan menyalin kunci awam kepada pelbagai tuan rumah Linux jauh sekaligus, dengan skrip shell.
Buat Kunci SSH Baru di Linux
Pertama, menghasilkan pasangan kunci SSH (kunci persendirian/identiti yang digunakan oleh klien SSH untuk mengesahkan dirinya ketika masuk ke pelayan SSH jauh dan kunci awam yang disimpan sebagai kunci yang diberi kuasa pada sistem jauh yang menjalankan pelayan SSH) menggunakan SSH-Keygen Perintah seperti berikut:
# ssh-keygenMenjana kunci ssh di linux
Buat skrip shell untuk log masuk jauh Mulitple
Seterusnya, buat skrip shell yang akan membantu menyalin kunci awam kepada pelbagai tuan rumah Linux jauh.
# vim ~/.bin/ssh-copy.sh
Salin dan tampal kod berikut dalam fail (ganti pembolehubah berikut dengan sewajarnya User_name
- nama pengguna untuk berhubung dengan, Host_file
- fail yang mengandungi senarai nama host atau alamat IP, dan Error_file
- fail untuk menyimpan sebarang kesilapan arahan SSH).
#!/bin/bash User_name= "Root" Host_file= "/root/host" Error_file= "/tmp/ssh-copy_error.txt "public_key_file =" $ 1 "jika [ ! -f $ public_key_file]; kemudian echo "fail '$ public_key_file' tidak dijumpai!"Keluar 1 fi jika [ ! -f $ host_file]; kemudian echo "fail '$ host_file' tidak dijumpai!"Keluar 2 fi untuk IP dalam 'CAT $ HOST_FILE'; DO SSH-COPY-ID -I $ public_key_file [E-mel dilindungi] $ ip 2> $ error_file result = $? jika [$ hasil -eq 0]; kemudian echo "" echo "kunci awam berjaya disalin ke $ ip" echo "" else echo "$ (Cat $ error_file)" echo exit 3 fi echo "" selesai
Simpan fail dan tutupnya.
Kemudian buat skrip boleh dilaksanakan dengan chmod arahan seperti yang ditunjukkan.
# chmod +x ssh-copy.sh
Sekarang jalankan SSH-Copy.sh
Skrip dan tentukan fail kunci awam anda sebagai hujah pertama seperti yang ditunjukkan dalam tangkapan skrin:
# ./ssh-copy.sh /root /.SSH/Prod-RSA.pubJalankan Skrip Salinan SSH
Seterusnya, gunakan SSH-AGENT
untuk menguruskan kunci anda, yang memegang kunci peribadi anda yang disahsulit dalam memori dan menggunakannya untuk mengesahkan log masuk. Selepas memulakan SSH-AGENT
, Tambahkan kunci peribadi anda seperti berikut:
# eval "$ (SSH-Agent -s)" # SSH-ADD ~/.ssh/prod_rsaMulakan ejen SSH
Log masuk ke pelayan Linux jauh tanpa kata laluan
Sekarang anda boleh log masuk ke mana -mana tuan rumah jauh anda tanpa memberikan kata laluan untuk pengesahan pengguna SSH. Dengan cara ini, anda boleh mengautomasikan proses silang pelayan.
# ssh [dilindungi e -mel]Log masuk tanpa kata laluan SSH
Itu sahaja yang kami ada untuk anda! Sekiranya anda mempunyai sumbangan untuk membuat skrip shell, beritahu kami melalui borang maklum balas di bawah.
- « 9 Perintah berguna untuk mendapatkan maklumat CPU di Linux
- Cara menukar (su) ke akaun pengguna lain tanpa kata laluan »