Этот запрос не имеет прямого отношения к 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 .
Рад добавить любую дополнительную информацию, если я что-то пропустил.
