Настройка агента SSH в Windows с помощью cygwin

Я создал этот вопрос просто как напоминание для меня, так как я обычно делаю настройку агента SSH только один раз в несколько лет.

Итак, как можно настроить агент SSH под Windows, предполагая использование Linux-подобной оболочки?

27
задан shillner
27.02.2023 3:24 Количество просмотров материала 2532
Распечатать страницу

2 ответа

мои текущие настройки:

  • Windows 10 Pro
    • также должен работать с более старыми версиями windows, которые предоставляют команду setx (Win7)
  • Babun shell (zsh)
    • основан на cygwin

что я сделал:

я решил добавить команды запуска к файлу .zshrc, так что он запускается каждый раз, когда я запускаю новую оболочку. Так вот команды:

# startup of the ssh-agent
AGENT_PID=$(pgrep -x ssh-agent)
if [ $? -ne 0 ]; then
  echo "~/.zshrc: Starting SSH Agent!"

  eval `ssh-agent` && ssh-add ~/.ssh/id_rsa
  setx SSH_AUTH_SOCK $SSH_AUTH_SOCK
  setx SSH_AGENT_PID $SSH_AGENT_PID

  echo "~/.zshrc: SSH Agent running (PID: $SSH_AGENT_PID)"
else
  echo "~/.zshrc: SSH Agent already running (PID: $AGENT_PID)"
fi
  1. команда pgrep ищет работающий SSH агентов. Если один из них запущен, он выведет идентификатор процесса и пропустит запуск другого агента.
  2. если ничего не найдено, агент запускается и переменные окружения экспортируются
    1. eval `ssh-agent` запускает агент и оценивает его вывод, который устанавливает переменные окружения SSH_AUTH_SOCK и SSH_AGENT_PID
    2. ssh-add добавляет указанный закрытый ключ агента, который запросит пароль для закрытого ключа изначально.
    3. так как вышеупомянутые переменные установлены только для запущенного процесса оболочки, необходимо установить их глобально, чтобы пользователь был доступен для других оболочек и других инструментов, не запущенных из оболочки. Это можно сделать с помощью команды setx из Windows. Я просто устанавливаю переменные в соответствии с полученными от агента.

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

6
отвечен shillner 2023-02-28 11:12

для меня работало следить за настройкой Oracle cygwin ssh [1]. Оттуда вы заинтересованы в установке Cygwin, а затем настроить SSH. Я использую эту настройку в работе для всех видов QE для подключения к машинам и выполнения тестов там. Вы можете выполнять большинство команд Linux, а также использовать команды Windows, что довольно круто.

в основном Linux оболочки в Windows: -)

спасибо,

Martin

[1] https://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#EMBSC150

0
отвечен Shadowmak 2023-02-28 13:29

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх