2012-08-02 47 views
86

我跑git push -u origin master「SSH-凱基」不被識別爲一個內部或外部命令

它告訴我,「權限被拒絕(公鑰)致命:遠程端掛機意外」

然後我在互聯網上查了一下,發現我必須在GitHub上爲我的帳戶生成一個ssh密鑰。但是,這樣做的時候,當我試圖做ssh-keygen -t rsa「[email protected]」時,它只是說ssh-keygen不被識別。我試圖做mkdir C:\ ssh但沒有奏效。如果有幫助,我正在使用Ruby Rails,而且我在Windows計算機上。任何人都可以幫我嗎?

回答

1

您可能應該檢查this。 Windows沒有該命令內置

121

2012:
ssh-keygen.exemsysgit部分:

C:\path\to\msysgit1.7.11\bin\ssh-keygen.exe 

如果您%PATH%包括C:\path\to\msysgit1.7.11\bin\,你將有ssh-keygen


更新2015:
ssh-keygen.exeGit For Windows部分,其releases包括PortableGit-2.4.3.1-2nd-release-candidate-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

作爲I explained before,Git for Windows即將淘汰msysgit。
我在「Why is it that if you download Git 2.0 from the net, you always get a 1.9.4 installer package?」中詳細說明了這個新版本是如何基於最新的msys2 project

+0

在Windows的PATH中安裝'ssh-keygen.exe'安全嗎?之後我需要刪除它的位置嗎? – Green 2013-04-25 20:51:34

+0

@Green實際上,它只是在使用git進行會話期間才成爲Windows'PATH'的一部分,因爲您正在使用'git-cmd.bat'啓動特殊的DOS會話:https://github.com/msysgit/msysgit/斑點/主/ GIT-cmd.bat。它將完成「PATH」並設置「HOME」。 – VonC 2013-04-25 21:14:09

+0

實際上,路徑應該沒有'ssh-keygen.exe'。我的意思是,它只對我有效。 – alexander 2015-12-01 20:58:46

3

我想你可以在PATH環境變量中添加文件ssh-keygen.exe的位置。遵循以下步驟:轉到我的電腦 - >右鍵單擊 - >屬性 - >高級系統設置 - >單擊環境變量。現在點擊PATH,然後點擊編輯。在變量值字段中,轉到末尾並追加'; C:\ path \ to \ msysgit1.7.11 \ bin \ ssh-keygen.exe'(不含引號)

52

我剛纔有這個問題, d分享我認爲更簡單的方法。

打開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

+12

+1不建議安裝其他軟件包 – 2014-03-14 21:51:01

+2

+1這是更好的解決方案,因爲不需要其他安裝 – guoleii 2014-08-13 02:36:42

0

我通過將ssh-keygen添加到我的環境變量中來解決了問題。

+0

你究竟做了什麼? – 2017-10-27 05:05:13

4

只要去heroku。蝙蝠並添加:

@SET PATH="D:\Program Files (x86)\Git\bin";%PATH%

在我的情況下,它在d

:\程序文件(x86)\ Git的\ bin中,將其更改爲您所安裝的Git的路徑。 (我只是用我的路留下它,所以它會如何寫更清楚)

9

我發現一個簡單的解決方案來解決這個問題:

在命令提示符下,轉到您的git \ bin目錄, 然後從這裏執行你的命令

+5

在我的系統上,Windows 10,ssh-keygen.exe在'git \ usr \ bin'中找到。 – Tarabass 2016-08-23 19:31:10

7

不需要添加任何東西到環境變量!只要打開git bash並在那裏執行命令ssh-keygen。

鏈接下載的git bash的here

0

對於那些誰不選擇BASH HERE選項。在cmd中輸入sh那麼他們應該有SSH-的keygen.exe訪問

19

我在下面跟着窗口(使用Git安裝了Windows)

  1. 運行 「混帳桂」(開始 - > Git的 - > Git的GUI)
  2. 點擊幫助,然後顯示SSH密鑰
  3. 單擊生成密鑰,如果你沒有一個已經

注: - 這將創建在你的個人資料文件夾C密鑰文件:\用戶\ YourUserID \ .ssh \

enter image description here

4

如果您已經安裝了Git的,並且安裝在C:\ Program Files文件,請按照如下

  1. 進入 「C:\ Program Files文件\的Git」
  2. 運行git -bash.exe,這將打開一個新窗口
  3. 在新的bash窗口中運行「SSH-凱基-t RSA -C」」
  4. 它提示文件要保存鍵,不輸入任何值 - 只是按回車
  5. 同爲密碼(兩次),只需按enter鍵
  6. id_rsa和id_rsa.pub將個人文件夾中生成下的.ssh
1

沒有做任何事情,只需輸入你的命令提示符

C:\> sh 

那麼你有這樣的

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

這應該必須工作。

相關問題