2017-09-29 2 views
1

Je veux savoir s'il existe un moyen d'utiliser mes clés ssh locales pour accéder à un serveur git à partir d'un troisième ordinateur distant. Par exemple: Imaginez que nous ayons trois ordinateurs: PC1, PC2 et GITSERVER.Comment utiliser la clé ssh locale pour accéder à un troisième ordinateur?

J'ai mes clés ssh stockées sur PC1 qui sont autorisées sur GITSERVER, de PC1 i ssh à PC2 d'où je veux cloner un dépôt stocké sur GITSERVER.

Il ya un moyen de le faire sans copier ma clé privée ou en créer une nouvelle?

Répondre

1

Comme l'indique Sajib Khan, un fichier ssh_config peut vous aider. Cependant, vous prenez toujours votre clé privée avec vous. Il peut y avoir des cas d'utilisation dans lesquels vous ne souhaitez pas utiliser votre clé privée sur une machine distante. Pour cela, vous pouvez définir par hôte si vous voulez prendre votre clé avec vous à la machine distante:

$ vim ~/.ssh/config 
Host remote-pc2 # local name of the host (You can use this on your local terminal to connect to the remote host) 
HostName 127.0.0.1 # enter correct IP here 
User francesco # your login name 
ForwardAgent yes 

Une autre façon de mettre en œuvre ceci: Vous pouvez démarrer le ssh-agent et ajouter la clé, ce qui pourrait être fait dans votre .bashrc:

$ vim ~/.bashrc 
eval `ssh-agent -s` 
ssh-add ~/.ssh/id_rsa 
# check if key is there 
$ ssh-add -l 

Cela vous aide afin que vous ne devez pas entrer votre mot de passe chaque fois que vous lancez une session ssh. Vous pouvez prendre votre clé ssh de votre machine locale à une autre machine pour une connexion avec cette commande:

$ ssh -A [email protected] 
+0

est-il sans danger? Je veux dire, est-il possible pour un attaquant d'obtenir des informations sur ma clé privée? –

+0

Eh bien, c'est comme sauver que l'agent d'expédition ssh est. J'y crois. Cependant, quelques personnes considèrent ssh-agent comme ne pas enregistrer (lors de la connexion à différents ordinateurs publics), c'est-à-dire, https://heipei.github.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/ Cependant, comme il semble que vous ne vous connectez qu'à vos propres ordinateurs, je considérerais cela comme une sauvegarde - tant que des correctifs de sécurité sont installés :) – muehsi

1

L'un des moyens est de transférer l'agent SSH. Tout d'abord, ouvrez le fichier ssh_config et ajoutez deux lignes.

$ sudo nano /etc/ssh/ssh_config 

Host <PC2-server-ip.com> 
ForwardAgent yes 

Ajouter une clé ssh à la liste de l'agent.

$ eval "$(ssh-agent)" 
$ ssh-add ~/.ssh/id_rsa   # add ssh key to list of agent 
identites 
$ ssh-add -l      # you can see the agent just added 

Maintenant, connectez-vous à PC2 et clone de gitserver

$ ssh <user>@<pc2-server-ip> 
$ git clone ...