Saya punya skrip yang menunjukkan beberapa server menggunakan otentikasi kunci publik. Salah satu server telah berhenti membiarkan skrip masuk karena masalah konfigurasi, yang berarti skrip macet dengan prompt "Kata sandi:", yang jelas-jelas tidak dapat menjawab, sehingga ia bahkan tidak mencoba server lainnya. dalam daftar.
Apakah ada cara untuk memberi tahu klien ssh untuk tidak meminta kata sandi jika otentikasi kunci gagal, tetapi untuk melaporkan kesalahan saat menghubungkan dan membiarkan skrip saya berlanjut?
sumber
ssh user@host -oPreferredAuthentications=publickey -C 'echo success'
Tambahkan yang berikut ke Anda
~/.ssh/config
:dan untuk menonaktifkan otentikasi kata sandi di server, tambahkan baris yang sama ke
/etc/ssh/sshd_config
dan restartsshd
.sumber
Jika Anda menggunakan dropbear, tambahkan saja opsi "
-s
" untuk menonaktifkan otentikasi kata sandi.sumber
Pada baris perintah (atau
~/.ssh/config
) Anda dapat mengaturPreferredAuthentications
.sumber
ssh -o PreferredAuthentications=publickey
ssh "-oPreferredAuthentications publickey"