Come disabilitare la richiesta della password dal lato client ssh?


9

Ho uno script che si basa sull'autenticazione SSH chiave pubblica / privata. Il problema è che alcuni sistemi sono configurati in modo errato e non hanno impostato l'attendibilità della chiave pubblica / privata ssh corretta. Quando ciò accade, sshchiedimi una password per bloccare l'esecuzione dello script. Ho provato questo comando:

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

Ma mi viene ancora richiesta la password di root.


Dopo tentativi ed errori ho trovato l'opzione di cui avevo bisogno. "PreferredAuthentications=publickey"
Red Cricket,

è meglio della soluzione proposta? (BatchMode)
knocte

Risposte:


9

Il modo canonico per farlo è con l' BatchModeopzione:

ssh -o BatchMode=yes …

Secondo il manuale :

Se impostato su "Sì", l'interrogazione passphrase / password verrà disabilitata. Questa opzione è utile negli script e in altri processi batch in cui non è presente alcun utente per fornire la password.

Mi sarei aspettato la combinazione di PasswordAuthentication=noed ChallengeResponseAuthentication=noessere abbastanza però. ssh -vvpotrebbe fornire un indizio.


Funziona anche questo! $ 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,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.