#python #deployment #automation #fabric
#python #развертывание #автоматизация #fabric
Вопрос:
Я успешно run()
выполняю команды ning на удаленном сервере с помощью моей пары закрытых ключей.
Тем не менее, я хотел бы сделать git clone ssh://private/repo
это на удаленном сервере, используя мой локальный ключ (или используя локальный ssh-агент, в котором я нахожусь).
Как это сделать с помощью fabric?
Комментарии:
1. пытаюсь разобраться в этом прямо сейчас. держать вас в курсе.
2. Я только что добавил дополнительный ключ в свою учетную запись github. Не идеально, но пока все в порядке.
3. Вы уже пробовали редактировать
$HOME/.ssh/config
?
Ответ №1:
Начиная с версии 1.4 fabric
, есть опция environment, которая позволяет перенаправлять агента.
env.forward_agent = True
UPD: эта функция глючила до fabric
версии 1.4.2
Ответ №2:
Короткий ответ заключается в том, что fabric использует разветвленную версию paramiko и что paramiko не поддерживает переадресацию агента ssh.
Длинный ответ заключается в том, что для этого есть проблемы как для fabric, так и для paramiko. Даже в выпуске fabric есть комментарий, содержащий ссылки на разветвленную версию fabric и разветвленную версию paramiko с поддержкой переадресации ssh. Следовательно, если вы хотите использовать эту функцию, вам нужно будет получить оттуда последнюю версию или подождать некоторое время, пока она не будет официально выпущена.
Комментарии:
1. @ReducedGosling Я уже довольно давно не использовал fabric. Возможно, вы захотите взглянуть на значение
forward_agent
конфигурации в документации .