J'ai récemment installé Ubuntu 10.04 et j'essaie de me connecter à des serveurs distants avec SSH, qui ne parvient pas à se connecter avec la clé publique.
J'ai créé les clés DSA, puis fait un ssh-copy-id
au serveur distant qui a créé le .ssh/authorized_keys
fichier et autorisations de 600
.
J'ai un agent SSH exécuté sur Ubuntu qui accepte le mot de passe, mais certains des systèmes distants (équilibreurs de charge F5 Big IP) me demandent toujours un mot de passe.
J'ai vérifié le sshd_config
fichier sur les systèmes distants pour valider que rien n'est différent d'un système à l'autre.
La sortie de débogage sur celui qui fonctionne est la suivante :
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /home/me/.ssh/id_dsa
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: Authentication succeeded (publickey).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
La sortie de débogage du système défaillant est la suivante :
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /home/me/.ssh/id_dsa
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Trying private key: /home/me/.ssh/id_rsa
debug1: Next authentication method: keyboard-interactive
Password:
Les authorized_keys
sont identiques sur chaque système, avec les mêmes permissions, et le sshd_config
sont identiques, ainsi que les versions de SSH.
Réponse acceptée :
Les informations que vous avez postées semblent correctes. Par curiosité, pourquoi utilisez-vous des clés dsa au lieu de rsa ?
Vérifiez les autorisations et la propriété de tous les fichiers et répertoires (par exemple :./.ssh/)
Le compte d'utilisateur est-il verrouillé ? (pouvez-vous vous connecter avec le mot de passe ?)
À défaut, vérifiez le fichier journal du serveur, qui devrait vous dire pourquoi il refuse la clé publique (vous pouvez démarrer le serveur en mode plus détaillé s'il ne l'est pas immédiatement clair pourquoi) - en comparant celui qui fonctionne avec celui qui ne fonctionne pas pour des indices.