SSH: autorisation refusée (publickey, gssapi-with-mic, mot de passe)

17

================================================== ==================

MISE À JOUR: Il s'est avéré que la configuration de sshd host2n'autorisera pas la connexion par mot de passe. Merci aux gens qui ont répondu à cette question.

================================================== ==================

Scénario: Travailler avec une entreprise pour mon projet de collège. Je dois d'abord utiliser PuTTy vers SSH host1, puis SSH vers host2(voir ci-dessous). On m'a donné un nom d'utilisateur et un mot de passe sur host2.

Je n'ai pas du tout accès à host2, donc je n'en ai aucune connaissance sshd_config.

C'est ce qui s'est produit lorsque j'essayais de SSH host2depuis host1:

ff@host1:~$ ssh -v host2
OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /home/ff/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to host2 [192.*.*.*] port 22.
debug1: Connection established.
debug1: identity file /home/ff/.ssh/identity type -1
debug1: identity file /home/ff/.ssh/id_rsa type -1
debug1: identity file /home/ff/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-5
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'sd01' is known and matches the RSA host key.
debug1: Found key in /home/ff/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Next authentication method: publickey
debug1: Trying private key: /home/ff/.ssh/identity
debug1: Trying private key: /home/ff/.ssh/id_rsa
debug1: Trying private key: /home/ff/.ssh/id_dsa
debug1: Next authentication method: password
ff@sd01's password:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
Permission denied, please try again.
ff@sd01's password:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
Permission denied, please try again.
ff@sd01's password:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-with-mic,password).

et mon /home/ff/.ssh/config:

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   HostbasedAuthentication no
    BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   AuthorizedKeysFile .ssh/authorized_keys
#   Cipher 3des
#   Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

Je me demande si je peux faire quelque chose avant d'aller dans l'entreprise.

cornichon
la source
le nom d'utilisateur "ff" sur l'hôte 2 est-il correct?
etagenklo
@etagenklo ouais c'est ce qu'on m'a donné.
cornichon
Vous devriez demander à l'administrateur de host2.
jornane
J'ai eu le même problème. Je pense que la cause en est que j'avais quelque chose de mal configuré dans le dossier $ HOME / .ssh de l'utilisateur. Après mv $ HOME / .ssh $ HOME / .ssh.hide je pourrais me connecter en utilisant le mot de passe ssh
JackBauer35

Réponses:

8

Le nom d'utilisateur et le mot de passe que vous essayez ne sont pas acceptés par l'hôte. Cela signifie que vous vous connectez au mauvais serveur ou que le nom d'utilisateur ou le mot de passe est incorrect. Vous devriez demander à l'administrateur de vérifier les journaux host2, cela devrait vous dire lequel des trois est le cas.

kasperd
la source
2
C'est comme si tu pouvais être plus stupide, j'ai souvent les bons mots de passe. Et puis vous vous souvenez de différentes dispositions de clavier. Merci de m'avoir fait revoir :)
skyw00lker
@ skyw00lker C'est la raison pour laquelle j'utilise personnellement des mots de passe alphanumériques.
kasperd
7

Premier

 chmod 700 .ssh

puis :

 chmod 600 .ssh/authorized_keys

et testez ceci:

restorecon -r -vv .ssh/authorized_keys
Ali Zemani
la source
2
Cela marche. Je vous remercie!
NightKnight sur Cloudinsidr.com
2

Dans mon cas, cela a été causé par le cryptage du répertoire personnel. J'ai changé l'emplacement des clés ssh et cela a résolu le problème: (copie d'archive Web) http://tweaktheserver.com/ssh-cant-connect-authentications-that-can-continue-publickeygssapi-keyexgssapi-with-micpassword/

user173141
la source
2
Veuillez ajouter l'essence de la solution dans votre réponse. Les réponses de lien uniquement sont susceptibles de pourrir les liens.
Deer Hunter
Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
Mark Henderson
merci pour vos suggestions. Je comprends qu'un lien de travail peut être une "erreur 404" à l'avenir et il est important de mentionner les points dans la réponse elle-même. J'ai également modifié ma réponse.
user173141
@DeerHunter était prophétique: lien pourri
Riet
@Riet - modification suggérée. Tout n'est pas perdu. En attendant, vous pouvez visiter la copie capturée de la page .
Deer Hunter
1

L'authentification GSSAPI semble être activée dans le client, mais elle échoue et revient à l'authentification par mot de passe. Si vous ne pouvez pas vous connecter avec le login et le mot de passe fournis, la seule chose sensée à faire est de contacter une personne responsable de la gestion du serveur (la "société").

cerceaux
la source
1

J'ai eu le même problème, mais le problème pour moi était que la configuration par défaut du système d'exploitation (CentOS 7) était de crypter le répertoire utilisateur, de sorte que le authorized_keysfichier placé ~/.ssh/ne fonctionnerait pas. La solution est venue d' ici mais en gros:

  1. dans /etc/ssh/sshd_configdéfinissez la propriété AuthorizedKeysFile sur quelque chose en dehors du répertoire de l'utilisateur ( /etc/ssh/authorized_keys)
  2. redémarrez le service sshd
Anatoly Geyfman
la source
0

essayez:
serveur ssh -p port -o PreferredAuthentications = publickey

Alexandr Vladimirovich
la source
veuillez expliquer un peu plus clairement pourquoi l'OP devrait utiliser votre commande et ce qu'elle fait. utiliser également code stylingpour les commandes est considéré comme un bon style:``
Phillip -Zyan K Lee- Stockmann
-1

Je devais donner des /home/ec2-userautorisations 700:

chmod -R 700 /home/ec2-user/
duhaime
la source
Pourquoi le vote à supprimer?
duhaime
-1

Permettez-moi d'ajouter que vous devez vous assurer que la clé appartient à votre utilisateur.

Tapez ls -lapour voir à quel utilisateur appartient votre clé.

Vous pouvez changer de propriétaire:

sudo chown ubuntu:root myKey  //If you are using ubuntu.

Assurez-vous également:

  • Vous utilisez la bonne .pemclé si vous utilisez Linux (le mastic est différent)
  • Vous avez défini les autorisations de clé correctes: sudo chmod 400 mykey.pem
  • Vous utilisez le bon nom d'utilisateur: ssh -i mykey user@instanceip
JPaulino
la source
-2

Tu peux essayer

ssh server -l user -o "PubkeyAuthentication=no"

OU dans / etc / ssh / sshd_config, ajoutez / modifiez la propriété

PermitRootLogin yes
Adriano
la source
ssh server -l user -o "PubkeyAuthentication=no" égal ssh user@server -o "PubkeyAuthentication=no"
Adriano
-2

$ ssh [email protected] -i .vagrant / machines / default / virtualbox / private_key

Cela a fonctionné pour moi

karthik br
la source