blog:agent_ssh_et_authentification_par_mot_de_passe

Agent SSH et authentification par mot de passe

Lorsqu'on a un agent SSH chargé et que l'on cherche à se connecter à une machine sur laquelle on n'a pas de clef SSH, on obtient lamentablement :

[host_a]$ ssh luser@host_b
Received disconnect from 192.0.2.18: 2: Too many authentication failures for luser

Première solution :

[host_a]$ unset SSH_AUTH_SOCK
[host_a]$ ssh luser@host_b
luser@host_b's password:
...

En effet, ssh(1) a conscience qu'un agent est chargé et l'interroge si la variable d'environnement SSH_AUTH_SOCK existe et pointe sur une socket Unix ouverte par ssh-agent(1) (ici sur host_a).

Seconde solution :

[host_a]$ ssh -o "PreferredAuthentications password" luser@host_b
luser@host_b's password:
...

Cette dernière solution permet, si on fait du « renvoi d'agent » (option ForwardAgent yes dans $HOME/.ssh/config), d'utiliser une clef sur la machine host_b, quand bien même luser s'est authentifié par mot de passe sur host_b. Lors de la connexion, sshd(8) sur host_b lancera pour luser un autre agent et :

[host_b]$ ssh-add -l
4096 37:59:ff:99:c0:24:9a:ee:cf:24:dd:aa:7c:f6:cc:5c /Users/bofh/.ssh/foo (RSA)
4096 25:ff:d1:9c:87:cc:33:8a:bb:78:6d:60:aa:64:08:ee /var/users/bofh/.ssh/bar (RSA)

Ici, luser sur host_b peut utiliser deux clefs SSH, manifestement chargées depuis des machines différentes (par « renvoi d'agent » donc).

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus
  • blog/agent_ssh_et_authentification_par_mot_de_passe.txt
  • Dernière modification : 2013/05/04 11:16
  • de pc