Ich habe ein Skript, das auf der SSH-Authentifizierung mit öffentlichem / privatem Schlüssel basiert. Das Problem ist, dass einige Systeme falsch konfiguriert sind und nicht die richtige Vertrauensstellung für öffentliche / private SSH-Schlüssel eingerichtet haben. Wenn dies passiert, ssh
fragen Sie mich nach einem Passwort, das die Ausführung des Skripts blockiert. Ich habe diesen Befehl ausprobiert:
sudo ssh -o "PasswordAuthentication=no" -o "ChallengeResponseAuthentication=no" root@last-call
Ich werde jedoch trotzdem zur Eingabe des Root-Passworts aufgefordert.
"PreferredAuthentications=publickey"
Antworten:
Der kanonische Weg, dies zu tun, ist mit der
BatchMode
Option:Nach dem Handbuch :
Ich hätte erwartet, dass die Kombination von
PasswordAuthentication=no
undChallengeResponseAuthentication=no
genug ist.ssh -vv
könnte einen Hinweis geben.quelle
$ 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).