web-dev-qa-db-fra.com

Configuration supplémentaire requise pour le transfert ssh-agent?

Ce guide explique très bien le fonctionnement de ssh-agent sur plusieurs systèmes. J'aimerais que la transmission soit configurée telle qu'elle est dans le dernier ensemble de diagrammes, mais j'ai du mal à suivre les étapes nécessaires pour le faire.

Pour certaines machines de mon réseau, je peux passer de A à B, puis de B à C, sans jamais entrer de mot de passe de certificat. Cependant, d'autres machines donnent un message "Impossible d'ouvrir une connexion à votre agent d'authentification" (parfois!), Puis ne transmet pas mes informations d'authentification. SSH de l'une de ces machines à une autre boîte du réseau demande à nouveau mon mot de passe de clé privée.

Je n'ai pas construit ces machines, mais je peux en administrer certaines. Je ne sais pas trop quelle est la différence entre Boxen qui fonctionne et ceux qui ne fonctionnent pas - pourrait être un problème de pare-feu, de configuration ssh/ssh-agent/sshd, quoi que ce soit, et je ne vois aucune étape guides pas-à-pas spécifiques au transfert flottant autour du réseau. J'ai juste besoin de savoir par où commencer pour résoudre ce problème.

20
Coderer

Le transfert de l'agent Ssh doit être autorisé sur le client (option ForwardAgent dans ~/.ssh/config) et sur le serveur (option AllowAgentForwarding dans sshd_config). Il est probable que vos machines ont des paramètres par défaut différents pour l'une ou l'autre de ces options.

Si vous utilisez A-> B-> C, le transfert n'est pas nécessaire à l'étape B-> C (à moins que vous n'ayez ensuite recours à C-> D bien sûr).

Lorsque vous êtes connecté à B, vérifiez que la variable d’environnement SSH_AUTH_SOCK est définie. Sa valeur est la façon dont ssh sait comment contacter l'agent.

Il n’ya aucune raison d’interdire le transfert d’agent sur le serveur, étant donné que le transfert d’agent rend le client vulnérable au serveur et non l’inverse, et qu’il est en principe possible de configurer le transfert d’agent manuellement (bien qu’il la difficulté de le mettre en place irait à l’encontre de la commodité du transfert d’agent).

23
Gilles

Bien que vous ayez déjà la bonne réponse de @Gilles ci-dessus, je tiens à souligner que AllowAgentForwarding est uniquement pris en charge dans OpenSSH 5.1.

Les serveurs OpenSSH antérieurs à 5.1, d'après ce que j'ai vu dans ma boîte RHEL 4u5, autorisent le transfert d'agent par défaut. Ainsi, si votre serveur est plus ancien que la version 5.1 et que le transfert d'agent ne fonctionne pas, le problème est probablement lié au client ssh. Étant donné que le transfert semble fonctionner pour certaines machines pour vous, il semble que /etc/ssh/ssh_config soit correctement configuré. Vérifiez ~/.ssh/config pour voir s’il existe une exception permettant de désactiver le transfert d’agent pour les boîtes concernées.

Ref: http://www.openssh.org/txt/release-5.1

14