Persediaan Log masuk SSH Tanpa Kata Laluan untuk Pelbagai Pelayan Jauh Menggunakan Skrip

Persediaan Log masuk SSH Tanpa Kata Laluan untuk Pelbagai Pelayan Jauh Menggunakan Skrip

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 openssh

Dalam 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-keygen 
Menjana 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.pub 
Jalankan 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_rsa 
Mulakan 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.