Setup Login SSH SSH Tanpa Kata Sandi untuk beberapa server jarak jauh menggunakan skrip

Setup Login SSH SSH Tanpa Kata Sandi untuk beberapa server jarak jauh menggunakan skrip

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 openssh

Di 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-keygen 
Hasilkan 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.pub 
Jalankan 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_rsa 
Mulai 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.