Предоставьте ssh доступ мерзавцу, надевают удаленную машину

У нас есть сервер с некоторыми нашими репозиториями мерзавца на, и я хотел бы смочь клонировать тот к нашему веб-серверу (который выполняет debian). Я работал ssh-keygen на веб-сервере и скопированный открытый ключ в authorized_keys на gitserver и поэтому теперь я могу успешно ssh к gitserver от веб-сервера:

ssh -T user@gitserver.com

И это зарегистрирует меня в. Однако, если я называю клон мерзавца на веб-сервере:

sudo git clone user@gitserver.com:/dir/repo.git

Я получаю этот ответ:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Кто-либо знает, почему это происходит? Я считал, что должен позволить ForwardAgent в/etc/ssh_config на моей локальной машине (рабочий Max OS X), который я сделал, но не устранил проблему.

0
задан 27 June 2014 в 19:21
1 ответ

Вы не вызываете клон git; вызываете sudo , которая переключается на совершенно другую учетную запись Unix (root) и только после этого вызывает клон git. В результате, как вы также заметили бы при использовании sudo ssh -v ..., ssh ищет приватные ключи в каталогах, принадлежащих root, а не вам. Так как sudo по умолчанию очищает среду, ssh также не может использовать ваш агент SSH, так как переменная окружения SSH_AUTH_SOCK удаляется.

Так как у вас включена переадресация агентов, попробуйте sudo -E ssh ..., чтобы сохранить все переменные окружения.

.
1
ответ дан 4 December 2019 в 17:28

Теги

Похожие вопросы