Setup Login SSH SSH Tanpa Kata Sandi untuk beberapa server jarak jauh menggunakan skrip
- 757
- 203
- Jermaine Mohr
Otentikasi berbasis kunci SSH (juga dikenal sebagai otentikasi kunci publik) memungkinkan untuk otentikasi tanpa kata sandi dan itu adalah solusi yang lebih aman dan jauh lebih baik daripada otentikasi kata sandi. Salah satu keuntungan utama dari login tanpa kata sandi SSH, apalagi keamanan adalah memungkinkan otomatisasi berbagai jenis proses silang-server.
Bacaan terkait: Cara mengamankan dan mengeraskan server opensshDi artikel ini, kami akan mendemonstrasikan cara membuat pasangan kunci SSH dan menyalin kunci publik ke beberapa host Linux jarak jauh sekaligus, dengan skrip shell.
Buat kunci SSH baru di Linux
Pertama, hasilkan pasangan kunci SSH (kunci privat/identitas yang digunakan klien SSH untuk mengotentikasi dirinya sendiri saat masuk ke server SSH jarak jauh dan kunci publik yang disimpan sebagai kunci resmi pada sistem jarak jauh yang menjalankan server SSH) menggunakan The ssh-keygen Perintah sebagai berikut:
# ssh-keygenHasilkan Kunci SSH di Linux
Buat skrip shell untuk login jarak jauh mulitple
Selanjutnya, buat skrip shell yang akan membantu menyalin kunci publik ke beberapa host Linux jarak jauh.
# vim ~/.BIN/SSH-COPY.SH
Salin dan tempel kode berikut dalam file (ganti variabel berikut sesuai NAMA BELAKANG
- Nama pengguna untuk terhubung, Host_file
- file yang berisi daftar nama host atau alamat IP, dan Error_file
- file untuk menyimpan kesalahan perintah ssh).
#!/bin/bash NAMA BELAKANG= "root" Host_file= "/root/hosts" Error_file= "/tmp/ssh-copy_error.txt "public_key_file =" $ 1 "jika [ ! -f $ public_key_file]; lalu echo "file '$ public_key_file' tidak ditemukan!"Keluar 1 fi jika [ ! -f $ host_file]; lalu echo "file '$ host_file' tidak ditemukan!"Keluar 2 Fi untuk IP di 'Cat $ host_file'; do ssh-copy-id -i $ public_key_file [email dilindungi] $ ip 2> $ error_file hasil = $? jika [$ result -eq 0]; Lalu Echo "" Echo "Kunci publik berhasil disalin ke $ ip" echo "" else echo "$ (cat $ error_file)" Echo Exit 3 fi echo "" selesai
Simpan file dan tutup.
Kemudian buat skrip dapat dieksekusi dengan Chmod perintah seperti yang ditunjukkan.
# chmod +x ssh-copy.SH
Sekarang jalankan SSH-Copy.SH
skrip dan tentukan file kunci publik Anda sebagai argumen pertama seperti yang ditunjukkan pada tangkapan layar:
# ./ssh-copy.sh /root /.SSH/Prod-RSA.pubJalankan skrip salinan ssh
Selanjutnya, gunakan ssh-agent
Untuk mengelola kunci Anda, yang menyimpan kunci pribadi Anda yang didekripsi dalam memori dan menggunakannya untuk mengotentikasi login. Setelah memulai ssh-agent
, Tambahkan kunci pribadi Anda ke dalamnya sebagai berikut:
# eval "$ (ssh-agent -s)" # ssh-add ~/.ssh/prod_rsaMulai Agen SSH
Masuk ke server Linux jarak jauh tanpa kata sandi
Sekarang Anda dapat masuk ke salah satu host jarak jauh Anda tanpa memberikan kata sandi untuk otentikasi pengguna SSH. Dengan cara ini, Anda dapat mengotomatiskan proses silang-server.
# ssh [email dilindungi]SSH Login Tanpa Kata Sandi
Hanya itu yang kami miliki untuk Anda! Jika Anda memiliki kontribusi untuk membuat khususnya untuk meningkatkan skrip shell, beri tahu kami melalui formulir umpan balik di bawah ini.
- « 9 Perintah yang berguna untuk mendapatkan informasi CPU di Linux
- Cara beralih (su) ke akun pengguna lain tanpa kata sandi »