Pertama kali ssh-copy-id
akan bertanya
# ssh-copy-id -i .ssh/id_dsa.pub [email protected]
The authenticity of host 'example.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is 39:fb:5e:70:30:33:2b:18:17:e9:4f:2f:91:b5:d2:21.
Are you sure you want to continue connecting (yes/no)?
Apakah mungkin untuk skrip ini, jadi skrip hanya akan menjawab ya?
Jawaban:
Jika Anda
ssh-copy-id
tidak mendukung opsi StrictHostKeyChecking, Anda dapat menulis skrip yang:ssh-keyscan
melawan server target untuk mendapatkan kunci publikssh-copy-id
sumber
SSH memiliki opsi untuk secara otomatis menambahkan kunci host apa pun ke file host tepercaya:
Sebagai alternatif, Anda dapat melakukan hal berikut:
Sunting : karena tampaknya solusi ini tidak berfungsi
ssh-copy-id
, Anda selalu dapat membuat~/.ssh/config
file dengan opsi berikut di dalamnya:Ini harus bekerja dengan semua koneksi SSH, terlepas dari apakah mereka dipanggil melalui skrip atau tidak.
sumber
ssh-copy-id
tidak punya-o
ssh-copy-id -?
ssh-copy-id
adalah sebuah skrip. Anda dapat memodifikasinya untuk menambah-o StrictHostKeyChecking=no
atau menonaktifkan parameter itu di file ssh_config.ssh-copy-id servername
berfungsi dengan baik.sudo sed -i.bak 's/ssh \$/ssh -o StrictHostKeyChecking=no \$/' $(which ssh-copy-id)
.Coba ini:
itu tidak menambahkan kunci host ke file known_hosts tetapi memungkinkan Anda menyalin (atau menambahkan) kunci publik ke
authorized_keys
yang Anda inginkan, jika itu satu-satunya tujuan di sini.sumber