Comment faire le transfert d'agent SSH sur un terminal Mac?

12

J'ai vérifié de nombreux didacticiels à ce sujet, mais je n'y parviens pas clairement.

Selon tuts, il existe deux façons de configurer le transfert d'agent

  1. dans votre ~/.ssh/configensemble de fichiers de configuration

    Host example.com
    
    ForwardAgent yes
    
  2. En ajoutant une identité, comme ssh-add.

À quoi ça sert

  1. Transfert de l'agent SSH utilisé pour stocker la phrase de passe clé. Pour que nous n'ayons pas besoin de saisir une phrase de passe à chaque fois?

  2. Avons-nous besoin de deux serveurs pour tester le transfert d'agent SSH? Veuillez suggérer. Ou nous pouvons également tester avec un seul serveur?

J'ai vérifié ce lien git hub et j'ai suivi les mêmes étapes. Je peux voir l'agent. lors de l'exécution de cette commande echo "$SSH_AUTH_SOCK" Cela signifie-t-il que cela fonctionne?

Comment puis-je le faire avec mon serveur? Guidez-moi s'il-vous-plaît.

MISE À JOUR: Lorsque j'essaie de ssh, je reçois ce message d'erreur dans le terminal

L'agent a reconnu ne pas avoir signé avec la clé.

Niks
la source

Réponses:

8

1) Une façon de l'utiliser est correcte, l'autre est l'argument de la ligne de commande -A.

2) L'agent stocke des mots de passe pour les clés. Le transfert d'agent permet d'utiliser des identités locales (avec ou sans phrase de passe) sur des serveurs distants sans avoir besoin de les copier dans un environnement potentiellement dangereux.

3) Vous pouvez tester avec un serveur, par exemple localhost.

4) echo "$SSH_AUTH_SOCK"devrait vérifier qu'il est configuré, mais le faire ssh-add -Lle vérifierait de manière plus fiable, car il testera la connexion à l'agent.

Jakuje
la source
Merci pour la réponse, signifie que nous devons ajouter la clé et ssh simplement comme avec cette clé ajoutée? ssh [email protected] et il ne vous demandera pas de phrase secrète car il est stocké par l'agent? pouvons-nous utiliser servername = localhost?
Niks
ssh-add your-keypour ajouter votre clé à l'agent (il demandera une phrase de passe une fois), s'il est vivant. Ensuite ssh server(avec -Aou option de configuration) ne demandera pas de phrase de passe et une autre connexion ne devrait pas demander à cet hôte ne devrait pas demander de phrase de passe)
Jakuje
Merci ... Signifie que si je mets l'agent en avant Oui dans le fichier de configuration alors je peux ssh sans utiliser -A? Veuillez suggérer.
Niks
salut .. Lorsque j'ai exécuté la commande $ SSH_AUTH_SOCK, j'obtiens le résultat sous la forme: -bash: /tmp/ssh-gT43vE99vk/agent.511: Autorisation refusée Je suis confus ici .. ? également ssh-add -Lavec cela, il énumère la clé SSH que j'ai ajoutée. veuillez me suggérer.
Niks
il n'y a pas de "commande en cours d'exécution $SSH_AUTH_SOCK". C'est une variable d'environnement qui contient le chemin d'accès à la socket du domaine Unix et vous ne pouvez évidemment pas l'exécuter. Mais ssh-addpeut communiquer avec votre agent via ce socket. J'ai écrit echo "$SSH_AUTH_SOCK"qui vous vérifie que la variable est définie.
Jakuje