SSH ignore mon ForwardAgent config?
Je suis en train de configurer Capistrano pour une webapp je travaille, et je vais avoir de la difficulté à obtenir de l'agent de transfert de travailler.
Voici mon ~/.ssh/config
:
Host rs
Hostname <ip of my server>
ForwardAgent yes
User root
Et je ne pense pas que les paramètres par défaut sont impérieuses rien, puisque ForwardAgent
n'est jamais mentionné (sauf dans une ligne de commentaire).
Voici ce qui se passe quand je SSH normalement:
$ ssh -v deploy@<server>
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/ulyssecarion/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
-- snip --
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.8.0-29-generic x86_64)
Si je force SSH pour permettre à l'agent de transfert avec le -A
drapeau, alors je peux le faire fonctionner:
$ ssh -Av deploy@<server>
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/ulyssecarion/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
-- snip --
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Requesting authentication agent forwarding. # Note this additional line here
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.8.0-29-generic x86_64)
(Notez que les journaux sur le deuxième exemple, ont une ligne supplémentaire indiquant l'agent de transfert est demandé.)
Est-ce normal ou suis-je en train de faire quelque chose de mal? Merci à l'avance!
OriginalL'auteur ucarion | 2014-03-05
Vous devez vous connecter pour publier un commentaire.
Ce bloc
s'applique seulement si votre appel à
ssh
ressembleauquel cas
ssh
sait que devrait être utilisé à la place de "rs". Dans votre appeltout ce que vous utilisez comme
<server>
ne correspond pas à "rs" (puisque seule la chaîne littérale "rs" est en cours de match), de sorte que le bloc ne s'applique pas.L'argument de la
Host
option doit être un modèle qui correspondra le nom d'hôte que vous utilisez réellement sur la ligne de commande.Host example.com ForwardAgent yes
, suivi par le correspondant alias manquantForwardAgent yes
.OriginalL'auteur chepner
Il y a quelques informations sur ServerFault sur la configuration de ssh agent de transfert.
https://superuser.com/questions/168933/extra-configuration-required-for-ssh-agent-forwarding
Une chose que je tiens à souligner, le ssh fichier de configuration sur le serveur peut être ForwardAgent un commentaire, mais au moins sur mon fichier de config, c'est vraiment de l'inscription de l'ssh par défaut. Il semble que pour certaines versions d'openssh, vous devez définir le AllowAgentForwarding option sur le serveur. J'ai trouvé cet article vraiment utile https://help.github.com/articles/using-ssh-agent-forwarding
La façon de vérifier si l'agent ssh transfert de travail est en regardant l' $SSH_AUTH_SOCK variable d'environnement.
echo "$SSH_AUTH_SOCK"
OriginalL'auteur Tracy Hurley