Как запустить ssh-add на windows?

Я следую за # 335. Развертываясь на VPS, и в конце эпизода нам нужно запустить ssh-add чтобы предоставить серверу доступ к github repo.

Проблема в том, как запустить его в Windows? Что нужно установить?

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

Ответ 1

Можно установить Git для Windows, а затем запустить ssh-add:

Шаг 3: добавьте свой ключ в ssh-agent

Чтобы настроить программу ssh-agent на использование вашего SSH-ключа:

Если у вас установлен GitHub для Windows, вы можете использовать его для клонирования репозиториев и не использовать ключи SSH. Он также поставляется с инструментом Git Bash, который является предпочтительным способом запуска git-команд в Windows.

  1. Убедитесь, что ssh-agent включен:

    • Если вы используете Git Bash, включите ssh-agent:

      # start the ssh-agent in the background
      ssh-agent -s
      # Agent pid 59566
      
    • Если вы используете другое приглашение терминала, например msysgit, включите ssh-agent:

      # start the ssh-agent in the background
      eval $(ssh-agent -s)
      # Agent pid 59566
      
  2. Добавьте свой SSH-ключ в ssh-agent:

    ssh-add ~/.ssh/id_rsa
    

Ответ 2

Оригинальный ответ

Убедитесь, что у вас установлен Git и в папке PATH есть папка git cmd. Например, на моем компьютере путь к папке git cmd - C:\Program Files\Git\cmd

Убедитесь, что ваш файл id_rsa находится в папке c:\users\yourusername\.ssh

Перезапустите командную строку, если вы еще этого не сделали, а затем запустите start-ssh-agent. Он найдет ваш id_rsa и предложит id_rsa пароль

Обновление 2019 - лучшее решение, если вы используете Windows 10: OpenSSH доступен как часть Windows 10, что, на мой взгляд, значительно упрощает использование SSH из cmd/powershell. Это также не зависит от установки git, в отличие от моего предыдущего решения.

  1. Откройте " Manage optional features из меню "Пуск" и убедитесь, что в списке есть Open SSH Client. Если нет, вы сможете добавить его.

  2. Откройте Services из меню Пуск

  3. Прокрутите вниз до OpenSSH Authentication Agent > щелкните правой кнопкой мыши> свойства

  4. Измените тип запуска с "Отключено" на любой из 3 других параметров. У меня установлен Automatic (Delayed Start)

  5. Откройте cmd и введите where ssh чтобы подтвердить, что верхний из перечисленных путей находится в System32. Мой установлен в C:\Windows\System32\OpenSSH\ssh.exe. Если его нет в списке, вам может потребоваться закрыть и снова открыть cmd.

После того, как вы выполните эти шаги, ssh-agent, ssh-add и все другие команды ssh теперь должны работать с cmd. Для запуска агента вы можете просто набрать ssh-agent.

  1. Необязательный шаг/устранение неполадок: если вы используете git, вы должны установить GIT_SSH среды GIT_SSH для вывода, where ssh который вы запускали ранее (например, C:\Windows\System32\OpenSSH\ssh.exe). Это сделано для того, чтобы устранить несоответствия между версией ssh, которую вы используете (и ваши ключи добавляются/генерируются), и версией, которую git использует внутри. Это должно предотвратить проблемы, которые похожи на это

Некоторые приятные вещи об этом решении:

  • Вам не нужно запускать ssh-agent при каждой перезагрузке компьютера.
  • Идентификационные данные, которые вы добавили (используя ssh-add), будут автоматически добавлены после перезапуска. (Это работает для меня, но вам может понадобиться файл конфигурации в вашей папке c:\Users\User.ssh)
  • Тебе не нужен мерзавец!
  • Вы можете зарегистрировать любой секретный ключ RSA для агента. Другое решение подхватит только ключ с именем id_rsa

Надеюсь это поможет

Ответ 3

ssh-add - это команда добавления ключа к локальному агенту. У Putty есть собственная программа агента, называемая конкурсом, которая выполняет ту же функцию.

Ответ 4

Для запуска ssh-add в Windows можно установить git с помощью choco install git. Команда ssh-add распознается после того, как C:\Program Files\Git\usr\bin был добавлен как переменная PATH, и командная строка была перезапущена:

C:\Users\user\Desktop\repository>ssh-add .ssh/id_rsa
Enter passphrase for .ssh/id_rsa:
Identity added: .ssh/id_rsa (.ssh/id_rsa)

C:\Users\user\Desktop\repository> 

Ответ 5

Если вы пытаетесь настроить ключ для использования git с ssh, всегда есть возможность добавить конфигурацию для файла идентификации.

vi ~/.ssh/config

Host example.com
IdentityFile ~/.ssh/example_key