Bagaimana cara menonaktifkan prompt kata sandi dari sisi klien ssh?


9

Saya memiliki skrip yang bergantung pada otentikasi ssh kunci publik / pribadi. Masalahnya adalah bahwa beberapa sistem salah konfigurasi dan tidak memiliki kepercayaan kunci publik / swasta ssh yang tepat. Ketika itu terjadi, sshtanyakan saya kata sandi yang memblokir eksekusi skrip. Saya sudah mencoba perintah ini:

sudo ssh -o "PasswordAuthentication=no" -o "ChallengeResponseAuthentication=no" root@last-call

Tapi saya masih diminta untuk memasukkan kata sandi root.


Setelah coba-coba saya menemukan opsi yang saya butuhkan. "PreferredAuthentications=publickey"
Red Cricket

Apakah itu lebih baik daripada solusi yang diajukan? (BatchMode)
knocte

Jawaban:


9

Cara kanonik untuk melakukan ini adalah dengan BatchModeopsi:

ssh -o BatchMode=yes …

Menurut manual :

Jika diatur ke "ya", kueri frasa / kata sandi akan dinonaktifkan. Opsi ini berguna dalam skrip dan pekerjaan batch lain di mana tidak ada pengguna yang menyediakan kata sandi.

Saya akan mengharapkan kombinasi PasswordAuthentication=nodan ChallengeResponseAuthentication=nocukup. ssh -vvmungkin menghasilkan petunjuk.


Itu juga berhasil! $ sudo ssh last-call-2 Password: $ sudo ssh -o "BatchMode=yes" last-call-2 Permission denied (gssapi-keyex,gssapi-with-mic,publickey,password,keyboard-interactive).
Red Cricket
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.