Как перенаправить агент да, используя fabric?

#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 конфигурации в документации .