Accès git repo via le tunnel SSH
j'ai accès à un compte SSH qui peut accéder à un serveur GIT et je peux cloner/push/pull le repo dans ce login ssh. Cependant, je ne peux pas accéder à ce rapport d'ailleurs.
sur le compte SSH que j'utilise,
git clone git@gitserver:proj/myrepo.git
cloner le repo.
j'ai essayé de configurer un tunnel ssh vers le serveur git à partir d'une autre machine en utilisant,
ssh -L 3333:gitserver:22 userid@sshserver
git clone ssh://localhost:3333/proj/repo.git
Cependant, je reçois invité pour un mot de passe pour l'utilisateur git. N'importe quelles idées ce que je fais mal ici?
1 réponses
Quand tu fais ceci:
git clone git@gitserver:proj/myrepo.git
un client ssh démarre sur l'hôte local ('ssherver') et s'authentifie avec' gitserver ' en utilisant l'authentification par clé publique. Si on vous demande un mot de passe pour l'utilisateur 'git', cela signifie que l'authentification par clé publique a échoué, et ssh tombe à travers la méthode suivante, qui est l'authentification par mot de passe.
la raison la plus probable de l'échec de l'authentification de la clé publique est que le client ssh n'a pas la clé privée nécessaire. Je soupçonne dans ce cas que la clé nécessaire pour s'authentifier comme 'git@gitserver' réside dans sshserver:~/.ssh, dans ce cas, il ne serait pas disponible pour le client ssh a commencé sur votre hôte local lorsque vous essayez de cloner le repo à travers votre tunnel SSH.
pour résoudre cela, vous devez donner à ce client l'accès à la clé appropriée. Vous pourriez ajouter à ~/.SSH localement, ou le charger dans un agent ssh.