J'essaie de me connecter à mon serveur ssh en utilisant un nom d'utilisateur et un mot de passe, mais j'obtiens cette erreur après avoir entré le mot de passe correct:
Permission denied, please try again.
Je peux cependant me connecter à l'aide d'une clé publique sur une autre machine, mais je n'ai PAS désactivé l'authentification par mot de passe standard. La seule chose que j'ai désactivée était les connexions root.
Voici mon fichier sshd_config:
# Fichier de configuration généré par package # Voir la page de manuel sshd_config (5) pour plus de détails # Quels ports, IP et protocoles que nous écoutons Port 22 # Utilisez ces options pour restreindre les interfaces / protocoles auxquels sshd se liera #ListenAddress :: #ListenAddress 0.0.0.0 Protocole 2 # HostKeys pour le protocole version 2 HostKey / etc / ssh / ssh_host_rsa_key HostKey / etc / ssh / ssh_host_dsa_key HostKey / etc / ssh / ssh_host_ecdsa_key La séparation des privilèges est activée pour des raisons de sécurité UsePrivilegeSeparation yes # Durée de vie et taille de la clé de serveur éphémère version 1 KeyRegenerationInterval 3600 ServerKeyBits 768 # Journalisation SyslogFacility AUTH INFO LogLevel # Authentification: LoginGraceTime 120 PermitRootLogin non StrictModes oui RSAAuthentication oui PubkeyAuthentication oui #AuthorizedKeysFile% h / .ssh / authorized_keys # Ne lisez pas les fichiers ~ / .rhosts et ~ / .shosts de l'utilisateur IgnoreRhosts oui # Pour que cela fonctionne, vous aurez également besoin de clés d'hôte dans / etc / ssh_known_hosts RhostsRSAAuthentication no # similaire pour la version 2 du protocole HostbasedAuthentication no # Ne commentez pas si vous ne faites pas confiance à ~ / .ssh / known_hosts pour RhostsRSAAuthentication #IgnoreUserKnownHosts oui # Pour activer les mots de passe vides, passez à oui (NON RECOMMANDÉ) PermitEmptyPasswords non # Passez à yes pour activer les mots de passe challenge-response (attention aux problèmes # certains modules et threads PAM) ChallengeResponseAuthentication non # Passez à no pour désactiver les mots de passe en texte clair tunnellisés PasswordAuthentication yes # Options Kerberos #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd oui #KerberosTicketCleanup oui # Options GSSAPI #GSSAPIAuthentication no #GSSAPICleanupCredentials oui X11Forwarding oui X11DisplayOffset 10 PrintMotd non PrintLastLog oui TCPKeepAlive oui #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Autoriser le client à transmettre des variables d'environnement locales AcceptEnv LANG LC_ * Sous-système sftp / usr / lib / openssh / sftp-server # Définissez ce paramètre sur «oui» pour activer l'authentification PAM, le traitement des comptes, # et traitement de session. Si cette option est activée, l'authentification PAM # être autorisé via ChallengeResponseAuthentication et # PasswordAuthentication. Selon votre configuration PAM, # L'authentification PAM via ChallengeResponseAuthentication peut contourner # le paramètre "PermitRootLogin without-password". # Si vous voulez simplement que le compte PAM et les vérifications de session s'exécutent sans # Authentification PAM, puis activez-la mais définissez PasswordAuthentication # et ChallengeResponseAuthentication à «non». UsePAM oui IgnoreUserKnownHosts non PasswordAuthentication yes
J'ai ajouté les 2 dernières lignes dans une dernière tentative pour le faire fonctionner. (Je les ai sur mes autres vps, et ils y travaillent)
Voici la liste du répertoire ~ / .ssh / de mon utilisateur:
ls -la /home/skerit/.ssh 16 au total drwx ------ 2 skerit skerit 4096 2011-06-25 15:11. drwxr-xr-x 4 skerit skerit 4096 2011-07-07 21:05 .. -rw-r - r-- 1 skerit skerit 1882 2011-06-25 15:15 authorized_keys -rw-r - r-- 1 skerit skerit 884 2011-06-23 22:59 known_hosts
Ceci est la sortie de / usr / sbin / sshd -d:
debug1: userauth-request for user skerit service ssh-connection method none debug1: tentative 0 échecs 0 debug1: PAM: initialisation pour "skerit" debug1: PAM: définition de PAM_RHOST sur "82.197.70.70" debug1: PAM: définition de PAM_TTY sur "ssh" debug1: userauth-request for user skerit service ssh-connection method publickey debug1: tentative 1 échecs 0 debug1: teste si pkalg / pkblob sont acceptables debug1: Vérification du fichier de liste noire /usr/share/ssh/blacklist.RSA-2048 debug1: Vérification du fichier de liste noire /etc/ssh/blacklist.RSA-2048 debug1: temporairement_use_uid: 1000/1000 (e = 0/0) debug1: essayer le fichier de clé publique /home/skerit/.ssh/authorized_keys debug1: fd 4 effacement O_NONBLOCK debug1: restore_uid: 0/0 debug1: temporairement_use_uid: 1000/1000 (e = 0/0) debug1: essai du fichier de clé publique /home/skerit/.ssh/authorized_keys2 debug1: impossible d'ouvrir les clés autorisées '/home/skerit/.ssh/authorized_keys2': aucun fichier ou répertoire de ce type debug1: restore_uid: 0/0 Échec de Publickey pour Skerit à partir du port 82.197.70.70 57154 SSH2 debug1: userauth-request for user skerit service ssh-connection method password debug1: tentative 2 échecs 1 debug1: PAM: échec de l'authentification par mot de passe pour skerit: échec de l'authentification Échec du mot de passe pour skerit à partir du port 82.197.70.70 57154 ssh2
J'ai ensuite essayé de me connecter au serveur ssh à partir du serveur ssh (localement) en utilisant le même nom d'utilisateur et mot de passe, et cela a fonctionné. C'était dans le fichier auth.log:
8 juillet 12:21:50 vpsnl1 sshd [27298]: debug1: impossible d'ouvrir le fichier de clé '/ etc / ssh / ssh_host_ecdsa_key': Aucun fichier ou répertoire de ce type 8 juillet 12:21:50 vpsnl1 sshd [27298]: erreur: impossible de charger la clé d'hôte: / etc / ssh / ssh_host_ecdsa_key 8 juillet 12:22:16 vpsnl1 sshd [27298]: pam_unix (sshd: auth): échec d'authentification; logname = uid = 0 euid = 0 tty = ssh ruser = rhost = 82.197.70.70 user = skerit 8 juillet 12:23:50 vpsnl1 sshd [27439]: serveur écoutant sur le port 22 de 0.0.0.0. 8 juil 12:23:50 vpsnl1 sshd [27439]: serveur écoutant sur :: port 22. 8 juillet 12:24:07 vpsnl1 sshd [27458]: erreur: impossible de charger la clé d'hôte: / etc / ssh / ssh_host_ecdsa_key 8 juillet 12:24:14 vpsnl1 sshd [27458]: Mot de passe accepté pour skerit à partir du port 127.0.0.1 57667 ssh2 8 juillet 12:24:14 vpsnl1 sshd [27458]: pam_unix (sshd: session): session ouverte pour l'utilisateur skerit par (uid = 0) 8 juillet 12:24:25 vpsnl1 sshd [27471]: Déconnexion reçue de 127.0.0.1: 11: déconnecté par l'utilisateur 8 juillet 12:24:25 vpsnl1 sshd [27458]: pam_unix (sshd: session): session fermée pour l'utilisateur skerit
su skerit
dans votre compte?Réponses:
Êtes-vous certain que le compte d'utilisateur auquel vous tentez d'accéder est correctement configuré? Si vous vous connectez en tant que root sur le système, pouvez-vous vous connecter au
su
compte utilisateur?Que voyez-vous dans vos journaux après une tentative de connexion échouée? Sur de nombreux systèmes, sshd se connectera à quelque chose
/var/log/secure
ou/var/log/auth.log
. De plus, je note que vous avezPasswordAuthentication
activé maisChallengeResponseAuthentication
désactivé. Voyez-vous le même comportement si vous activezChallengeResponseAuthentication
?Voici quelques étapes de diagnostic générales à utiliser lorsque vous rencontrez des problèmes ssh:
Activez les diagnostics détaillés dans ssh:
Cela entraînera la sortie par le client d'une variété de messages de diagnostic lors de la négociation de la connexion. Cela fournira souvent un indice du problème.
Exécutez le serveur en mode débogage.
Sur votre serveur, arrêtez sshd, puis exécutez-le à partir de la ligne de commande comme ceci:
Cela produira une journalisation détaillée du débogage
stderr
qui contiendra très souvent des informations utiles.Si aucun de ces éléments ne vous aide à comprendre ce qui se passe, ajouteriez-vous la sortie à votre question?
la source