'ssh-keygen' не распознается как внутренняя или внешняя команда
Я запустил git push -u origin master
Он говорит мне, что "Permission denied (public key) фатальный: удаленный конец неожиданно повесил трубку"
Затем я посмотрел в Интернете и обнаружил, что мне нужно создать ключ ssh для моей учетной записи в GitHub. Однако после этого, когда я пытался сделать ssh-keygen -t rsa "[email protected]", он просто сказал, что ssh-keygen не распознается. Я пробовал делать mkdir C:\ssh, но это не сработало. Если это помогает, я использую Ruby Rails, и я нахожусь на компьютере под управлением Windows. Может ли кто-нибудь мне помочь?
Ответы
Ответ 1
2012:
ssh-keygen.exe
является частью msysgit:
C:\path\to\msysgit1.7.11\bin\ssh-keygen.exe
если ваш %PATH%
включает C:\path\to\msysgit1.7.11\bin\
, у вас будет ssh-keygen
.
Обновление 2015:
ssh-keygen.exe
является частью Git Для Windows, чей releases включить PortableGit-2.4.3.1-2nd-release-кандидат-64 -bit.7z
c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin\ssh-keygen.exe
Это означает, что %PATH%
должен включать c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin
(без ssh-keygen.exe
)
Как Я объяснил до, Git для Windows скоро будет отключен msysgit.
Я подробно остановился на "Почему вы загружаете Git 2.0 из сети, вы всегда получаете пакет установки 1.9.4?, как эта новая версия основана в более позднем проекте msys2.
Ответ 2
У меня была эта проблема, и я решил поделиться тем, что, по моему мнению, было более простым способом.
Откройте git - bash и выполните ту же команду с добавлением -C, поскольку вы комментируете в своем адресе электронной почты: ssh-keygen -t rsa -C "[email protected]"
. Что это.
git - bash должен быть установлен при установке git. Если вы не можете найти его, вы можете проверить C:\Program Files\Git\Git Bash
В первый раз, когда я это сделал, мне не удалось создать папку .ssh для меня, поэтому мне пришлось открыть стандартную командную строку и mkdir C:\Users\yourusername \.ssh
Ответ 3
В окне Windows я следил ниже (с помощью Git для Windows)
- Запуск "Git Gui" (Пуск → Git → Git Gui)
- Нажмите "Справка", а затем "Показать ключ SSH"
- Нажмите "Создать ключ", если у вас еще нет одного
Примечание: - это создает файлы ключей под вашей личной папкой профиля C:\Users\YourUserID \.ssh\
Ответ 4
Я нашел легкое решение, чтобы исправить это:
В командной строке перейдите в каталог git\bin,
а затем выполните ваши команды здесь
Ответ 5
Не нужно ничего добавлять к переменным окружающей среде! Просто откройте git bash и выполните команду ssh-keygen там.
Ссылка на скачивание git bash здесь
Ответ 6
Просто перейдите к heroku.bat и добавьте:
@SET PATH="D:\Program Files (x86)\Git\bin";%PATH%
после @SET PATH=%HEROKU_RUBY%;%PATH%
в моем случае это в D:\Program Files (x86)\ Git\bin, измените его на путь, который вы установили Git to. (я просто оставил его своим путем, чтобы было ясно, как это записать)
Ответ 7
Я думаю, вы можете добавить расположение файла ssh-keygen.exe в переменную среды PATH. Выполните следующие действия. Перейдите в "Мой компьютер" → "Правка" → "Свойства" → "Расширенные настройки системы" → "Переменные среды". Теперь нажмите PATH, а затем нажмите EDIT. В поле значения переменной перейдите в конец и добавьте '; C:\path\to\msysgit1.7.11\bin\ssh-keygen.exe' (без кавычек)
Ответ 8
Если вы установили Git и установлены в C:\Program Files, следуйте ниже:
- Перейдите в раздел "C:\Program Files\ Git"
- Запустите git - bash.exe, откроется новое окно
- В новом окне bash запустите "ssh-keygen -t rsa -C" "
- Он запрашивает файл для сохранения ключа, не вводит никакого значения - просто нажмите enter
- То же самое для парольной фразы (дважды), просто нажмите enter
- id_rsa и id_rsa.pub будут созданы в вашей домашней папке в .ssh
Ответ 9
Вероятно, вы должны проверить это. Windows не имеет встроенной команды.
Ответ 10
ничего не делайте, просто введите в командной строке
C:\> sh
тогда вы получили это
sh-4.4$
# type here
ssh-4.4$ ssh-keygen -t rsa -b 4096 -C "[email protected]"
это должно работать.
Ответ 11
Я исправил это, просто добавив ssh-keygen
к моим переменным окружения.
Ответ 12
для тех, кто не выбирает опцию BASH ЗДЕСЬ. type sh в cmd, тогда они должны иметь доступ к ssh-keygen.exe