Работаем с ssh агентом в Windows 11

Куча серверов, везде поднят сервис sshd. Вы работаете в Windows 11. В командной строке Windows набрали команду ssh клиента с ключами и подключились к серверу, используя ключ авторизации. А затем еще и скрипт написали, чтобы не тратить время на написание команд. Никаких логинов и паролей. Все безопасно. Будем так считать.

Но в один прекрасный день у вас появилась новый ноутбук. Вы счастливы. Все работает быстро, окошки летают, Visual Studio Code открывается за секунду. Вы счастливы.

Но с появлением нового инструмента работа никуда не делась и все также надо обслуживать кучу серверов. Как настраивали до этого доступ через ssh с использованием ключей авторизации, чтобы не вводить логин и пароль, вы не помните. Точно так же и я не помню. И при подключении к серверу идет запрос на пароль от закрытого ключа. Быстро надоедает.

В этот момент мы начинаем напрягать память и пытаемся вспомнить куда нажимали, где что-то включали и какие команды запускали. Но не буду томить.

Суть всей автоматизации заключается в том, что за подключение к серверу с использованием ключей отвечает ssh-agent. Если просто запустить службу, то ничего не получится. Все равно будет запрашиваться пароль от ключа, потому что агент не знает про ваш ключ. Поэтому, надо агенту «скормить» свой закрытый ключ. И после этого все будет работать, как раньше.

Набор команд:

Включаем сервис под администратором системы:
Get-Service ssh-agent | Set-Service -StartupType Automatic

Запускаем сервис:
Start-Service ssh-agent

Импортируем ключ в систему:
ssh-add C:\Users\<название профиля>/.ssh/id_rsa

А теперь вкусняшка
Мы настоятельно рекомендуем создать резервную копию закрытого ключа в безопасном расположении, а затем удалить его из локальной системы после добавления в ssh-agent. Закрытый ключ нельзя получить из агента, если использовался надежный алгоритм
Вот такая рекомендация от Microsoft