Сброс ssh-агента в подсистеме Windows для Linux (WSL)

1277
Nate

Я пытаюсь использовать 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

1

2 ответа на вопрос

2
harrymc

Попробуйте добавить -sпараметр, как в:

eval $(ssh-agent -s) 

Этот параметр описывается как:

-s Генерировать команды оболочки Bourne на стандартный вывод. Это значение по умолчанию, если SHELL не выглядит как оболочка в стиле csh.

Пробовал как в `> dev` ..., так и в простых версиях Nate 6 лет назад 0
2
babebibobu

Я копирую ответ, приведенный в другой аналогичной теме ( https://stackoverflow.com/a/50942800/9966057 ).

Бесполезно пытаться настроить вашу сессию.

Полный ответ: https://github.com/Microsoft/WSL/issues/3183

Короткая версия: переадресация ssh-agent нарушена ошибкой getsockopt в wsl / ubuntu 18.04 (или любом другом linux, который я себе представляю).

Вы ответили отлично. Предоставление ссылки - это замечательно, но вы также должны [включить необходимую информацию] (// meta.stackoverflow.com/q/8259), что вы и сделали. robinCTS 6 лет назад 0
Да, если вы копируете информацию, написанную кем-то другим, вы должны указать ссылку на источник; см. [Как ссылаться на материал, написанный другими] (/ help / referencing ""). G-Man 6 лет назад 0

Похожие вопросы