Я на Windows 10 Pro.

Я добавил следующие строки в мой файл Cygwin (полностью обновленный) ~/.bashrc :

eval $(ssh-agent) > /dev/null
ssh-add > /dev/null 2>&1

чтобы мне не приходилось делать это каждый раз, потому что я обычно ничего не делаю, кроме подключения к Linux-машинам.

Обратите внимание, что я перенаправляю вывод этих команд в черную дыру для меня, не особо заинтересованного в этом, в противном случае он выведет что-то вроде:

Agent pid 11060
Identity added: /home/vlastimil/.ssh/id_rsa (/home/vlastimil/.ssh/id_rsa)

Но сегодня я заметил, что по какой-то причине эти процессы ssh-agent.exe остаются в памяти после выхода из системы и закрытия Cygwin.

Вопрос:

Как автоматически закрыть ssh-agent вместе с закрытием Cygwin?

1 ответ1

0

Я решил, что первое, что нужно сделать, находится в файле ~/.bashrc , мне нужно сохранить вывод:

eval $(ssh-agent)

Вместо того, чтобы отказаться от него; пример следует:

eval $(ssh-agent) > ~/.ssh-agent-stdout

Наконец, создайте следующий файл:

~/.bash_logout

С содержанием:

ssh_agent_pid=$(awk '{ print $3 }' ~/.ssh-agent-stdout)
kill -HUP "$ssh_agent_pid"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .