Как запустить 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.
-
Убедитесь, что 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
-
Добавьте свой 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, в отличие от моего предыдущего решения.
-
Откройте " Manage optional features
из меню "Пуск" и убедитесь, что в списке есть Open SSH Client
. Если нет, вы сможете добавить его.
-
Откройте Services
из меню Пуск
-
Прокрутите вниз до OpenSSH Authentication Agent
> щелкните правой кнопкой мыши> свойства
-
Измените тип запуска с "Отключено" на любой из 3 других параметров. У меня установлен Automatic (Delayed Start)
-
Откройте cmd и введите where ssh
чтобы подтвердить, что верхний из перечисленных путей находится в System32. Мой установлен в C:\Windows\System32\OpenSSH\ssh.exe
. Если его нет в списке, вам может потребоваться закрыть и снова открыть cmd.
После того, как вы выполните эти шаги, ssh-agent, ssh-add и все другие команды ssh теперь должны работать с cmd. Для запуска агента вы можете просто набрать ssh-agent
.
- Необязательный шаг/устранение неполадок: если вы используете 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