it-roy-ru.com

'ssh-keygen' не распознается как внутренняя или внешняя команда

Я запускаю git Push -u Origin master

Он говорит мне, что "Отказано в доступе (открытый ключ) фатально: удаленный конец неожиданно зависает"

Затем я посмотрел в Интернете и обнаружил, что мне нужно сгенерировать ключ ssh для моей учетной записи на GitHub. Однако, когда я попытался сделать ssh-keygen -t rsa "[email protected]", он просто сказал, что ssh-keygen не распознан. Я пытался сделать mkdir C:\ssh, но это не сработало. Если это поможет, я использую Ruby Rails и ​​я на компьютере с Windows. Кто-нибудь может мне помочь?

98
user1567909

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 FOR WINDOWS, чьи РЕЛИЗЫ включают 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 .

130
VonC

У меня просто возникла эта проблема, и я решил поделиться тем, что, по моему мнению, было проще. 

Откройте 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.

62
cjaypierson

Я следовал ниже в Windows (с установленным Git для Windows)

  1. Запустите "Git Gui" (Пуск -> Git -> Git Gui)
  2. Нажмите «Справка», а затем «Показать ключ SSH».
  3. Нажмите «Создать ключ», если у вас его еще нет

Примечание: - это создает файлы ключей в папке вашего личного профиля C:\Users\YourUserID\.ssh \

 enter image description here

38
Dinesh Rajan

Я нашел простое решение, чтобы исправить это:

В командной строке перейдите в каталог git\bin, , А затем выполните свои команды отсюда

9
pirgauthier

Не нужно ничего добавлять к переменным среды! Просто откройте git bash и выполните команду ssh-keygen.

Ссылка для скачивания git bash здесь

8
Bilton Tran

Если вы установили Git и установлены в C:\Program Files, выполните следующие действия.

  1. Перейдите в "C:\Program Files\Git"
  2. Запустите git-bash.exe, откроется новое окно
  3. В новом окне bash запустите "ssh-keygen -t rsa -C" "
  4. Он запрашивает файл, в котором нужно сохранить ключ, не вводите никакого значения - просто нажмите ввод
  5. То же самое для парольной фразы (дважды), просто нажмите Enter
  6. id_rsa и id_rsa.pub будут сгенерированы в вашей домашней папке под .ssh 
6
user3233126

Просто зайдите в heroku.bat и добавьте:

@SET PATH="D:\Program Files (x86)\Git\bin";%PATH% после @SET PATH=%HEROKU_Ruby%;%PATH%

в моем случае это в папке D:\Program Files (x86)\Git\bin, измените его на путь, по которому вы установили Git. (я просто оставил его с моим путем, чтобы было понятнее, как это написать)

4
Vlad

Я думаю, что вы можете добавить расположение файла ssh-keygen.exe в переменной среды PATH. Выполните следующие действия: Перейдите в «Мой компьютер» -> «Щелкните правой кнопкой мыши» -> «Свойства» -> «Дополнительные параметры системы» -> «Переменные среды». Теперь нажмите PATH, а затем нажмите EDIT. В поле значения переменной перейдите в конец и добавьте '; C:\path\to\msysgit1.7.11\bin\ssh-keygen.exe' (без кавычек)

3
Nehal J Wani

Вы, вероятно, должны проверить это . Windows не имеет этой встроенной команды.

1
Benjamin Tan Wei Hao

ничего не делать, просто введите в командной строке

C:\> sh

тогда ты получил вот так

sh-4.4$ 
# type here 
ssh-4.4$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

это должно работать.

1
Osama Saeed

для тех, кто не выбирает вариант BASH ЗДЕСЬ. наберите sh в cmd, тогда они должны иметь доступ к ssh-keygen.exe

0
Zeeshan Khan

Я исправил это, просто добавив ssh-keygen к моим переменным окружения.

0
Bartel De Brabandere

Для окон вы можете добавить это:

SET PATH="C:\Program Files\Git\usr\bin";%PATH%
0
oumina

На моей машине ssh-keygen был доступен от powershell.

0
user4757074