SSH: désactivation complète de l'authentification par mot de passe

13

existe-t-il un moyen de désactiver complètement l'authentification par mot de passe? La ligne de commande est la suivante:

ssh -o KbdInteractiveAuthentication=no -o PasswordAuthentication=no machine" 

il demande TOUJOURS un mot de passe. Bien sûr, je voudrais le faire sans toucher au serveur, si possible.

Peltier
la source

Réponses:

19

D'accord, je l'ai trouvé! Ses

ssh -o BatchMode=yes host

Pas très intuitif, surtout avec le fait que les options que j'ai essayées précédemment ne fonctionnent pas.

Peltier
la source
4

Vous pouvez ajouter ces options à .ssh / config et enregistrer quelques saisies:

Host host
BatchMode yes

devrait faire le travail.

Dan Andreatta
la source
3

Je viens d'avoir ce problème et j'ai trouvé la réponse ici:

http://www.gossamer-threads.com/lists/openssh/dev/47179

Fondamentalement, openssh a utilisé le clavier interactif pour implémenter challenge-repsonse. Donc, si l'une de ces options est définie sur "oui", alors keyboard-interactive est défini sur "oui" dans le code. Vous devez définir les deux sur "non" afin d'obtenir le comportement souhaité.

Je devais faire:

ssh -o PasswordAuthentication=no -o KbdInteractiveAuthentication=no -o ChallengeResponseAuthentication=no

Bien sûr, le BatchMode=yesparamètre se chargera de tout cela pour vous et vous protégera contre toute nouvelle méthode d'authentification interactive des utilisateurs à l'avenir.

personne
la source