Попробуйте добавить -s
параметр, как в:
eval $(ssh-agent -s)
Этот параметр описывается как:
-s Генерировать команды оболочки Bourne на стандартный вывод. Это значение по умолчанию, если SHELL не выглядит как оболочка в стиле csh.
Я пытаюсь использовать ssh-agent под WSL, но параметры SSH стираются после запуска скрипта
Из .bashrc (урезанная версия)
eval $(ssh-agent) ssh-add ssh-add -l echo "SSH_AGENT_PID is" $SSH_AGENT_PID echo "SSH_AUTH_SOCK is" $SSH_AUTH_SOCK
Подсказки для ключевой фразы затем показывают отпечаток пальца и соответствующие переменные
сразу после запуска (или отдельного скрипта)
ssh-add -l echo "SSH_AGENT_PID is" $SSH_AGENT_PID echo "SSH_AUTH_SOCK is" $SSH_AUTH_SOCK
дает
Could not open a connection to your authentication agent. SSH_AGENT_PID is SSH_AUTH_SOCK is
(приведено в порядок для удобства чтения)
агент по - прежнему работает с оригинальным PID (проверено в верхней части) также пытался eval $(ssh-agent ) > /dev/null
и так eval $(ssh-agent -s)
и в комбинации
Почему они стираются? ssh-agent работал нормально до обновления Windows 1709 "Осеннее обновление создателей"
для информации: linux версия 4.4.0-43-Microsoft (Microsoft@Microsoft.com) (gcc версия 5.4.0 (GCC)) # 1-Microsoft ср 31 дек. 14:42:53 PST 2014
Попробуйте добавить -s
параметр, как в:
eval $(ssh-agent -s)
Этот параметр описывается как:
-s Генерировать команды оболочки Bourne на стандартный вывод. Это значение по умолчанию, если SHELL не выглядит как оболочка в стиле csh.
Я копирую ответ, приведенный в другой аналогичной теме ( https://stackoverflow.com/a/50942800/9966057 ).
Бесполезно пытаться настроить вашу сессию.
Полный ответ: https://github.com/Microsoft/WSL/issues/3183
Короткая версия: переадресация ssh-agent нарушена ошибкой getsockopt в wsl / ubuntu 18.04 (или любом другом linux, который я себе представляю).