Этот запрос не имеет прямого отношения к Git, но так как один из поддерживаемых транспортов Git - это SSH, и я пытаюсь использовать переадресацию агентов, я подумал, что хотел бы получить разъяснения (страницы руководства меня подвели)
Я пытаюсь автоматизировать развертывание программного обеспечения с помощью Capistrano, мне удалось приостановить некоторые болевые точки (предварительное заполнение известных хостов, перед развертыванием и т.д.), Но я остаюсь в следующей ситуации.
Моя команда входит на сервер под своими собственными учетными записями, все в группе developers
, и umask
- 002
. Ничто из вышеперечисленного не имеет отношения к делу, за исключением того, что цель состоит в том, чтобы убедиться, что моя команда всегда может работать как сама, не требуя привилегий суперпользователя.
Мы подключаемся к серверу example.com
используя следующую ~/.ssh/config
:
Host example.com
User beaks
ForwardAgent yes
IdentityFile ~/.ssh/id_rsa_business
Первоначальный вход в систему работает отлично, ssh example.com
открывает соединение с моей учетной записью, и все в порядке.
Проблема приходит на следующем этапе,
git ls-remote git@github.com:project/repository.git
Это использует вышеупомянутый транспортный уровень Git+SSH (см. Ссылку выше) - и обычно должен использовать мой ключ перенаправленного агента (который я проверял на наличие с env | grep SSH_AUTH_SOCK
)
Ответ прост: «аутентификация не удалась (открытый ключ), другой конец неожиданно завис», я подозреваю, что агент для моего пользователя не используется, когда я github.com
качестве общего пользователя git
.
Я также не могу исключить странности EC2
(политики безопасности и т.д.) - но в этом случае я бы ожидал тайм-аут или сбой соединения. Я чувствую себя довольно уверенно, что я попал на github.com
- и что меня не пускают, потому что мой агент не предлагает мой ключ beaks
для своего пользователя git
.
Рад добавить любую дополнительную информацию, если я что-то пропустил.