Доступ к Git-репо через SSH-туннель

git ssh ssh-tunnel

32021 просмотра

1 ответ

У меня есть доступ к учетной записи SSH, которая может получить доступ к серверу GIT, и я могу клонировать / выдвинуть / вытащить репо в этом логине SSH. Однако я не могу получить доступ к этому репо из других мест.

На учетной записи SSH, которую я использую,

git clone git@gitserver:proj/myrepo.git

клонировать репо.

Я попытался настроить SSH-туннель на сервер GIT с другой машины, используя,

ssh -L 3333:gitserver:22 userid@sshserver
git clone ssh://localhost:3333/proj/repo.git

Тем не менее, меня постоянно просят ввести пароль для пользователя 'git'. Есть идеи, что я здесь делаю не так?

Автор: Bootstrapper Источник Размещён: 12.11.2019 09:42

Ответы (1)


13 плюса

Решение

Когда вы делаете это:

git clone git@gitserver:proj/myrepo.git

ssh-клиент запускается на локальном хосте ('sshserver') и аутентифицируется с помощью 'gitserver' с использованием аутентификации с открытым ключом. Если вам будет предложено ввести пароль для пользователя 'git', это означает, что аутентификация с открытым ключом не удалась, и ssh переходит к следующему методу, который является аутентификацией по паролю.

Наиболее вероятная причина, по которой аутентификация с открытым ключом потерпит неудачу, заключается в том, что у клиента ssh нет необходимого личного ключа. В этом случае я подозреваю, что ключ, необходимый для аутентификации как 'git @ gitserver', находится в sshserver: ~ / .ssh, и в этом случае он не будет доступен для клиента ssh, запущенного на локальном хосте, когда вы пытаетесь клонировать репо через ваш SSH туннель

Чтобы решить эту проблему, вам нужно предоставить этому клиенту доступ к соответствующему ключу. Вы можете добавить его в ~ / .ssh локально или загрузить в агент ssh.

Автор: gcbenison Размещён: 06.06.2013 07:49
Вопросы из категории :
32x32