簡體   English   中英

'ssh-keygen'未被識別為內部或外部命令

[英]'ssh-keygen' is not recognized as an internal or external command

我運行git push -u origin master

它告訴我“權限被拒絕(公鑰)致命:遠程端意外掛斷”

然后我查了一下互聯網,發現我必須在GitHub上為我的帳戶生成一個ssh密鑰。 但是,這樣做的時候,當我嘗試做ssh-keygen -t rsa“email@youremail.com”時,它只是說ssh-keygen無法識別。 我試過做mkdir C:\\ ssh但是沒用。 如果它有助於我使用Ruby Rails並且我在Windows計算機上。 誰能幫助我?

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.exeGit For Windows的一部分,其發行版包括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

正如我之前解釋過的 ,Git for Windows將很快淘汰msysgit。
我詳細介紹了“ 為什么如果你從網上下載Git 2.0,你總是得到一個1.9.4安裝程序包? ”這個新版本是如何基於最新的msys2項目的

我剛剛遇到這個問題,並認為我會分享我認為更簡單的方法。

打開git-bash並運行相同的命令並添加-C,因為您正在評論您的電子郵件地址: ssh-keygen -t rsa -C "email@youremail.com"命令。 而已。

安裝git時應該已經安裝了git-bash。 如果找不到,可以查看C:\\ Program Files \\ Git \\ Git Bash

我第一次這樣做,它無法為我創建.ssh文件夾,所以我不得不打開一個標准的命令提示符和mkdir C:\\ Users \\ yourusername \\ .ssh

我在windows下面跟着(安裝了Git for Windows)

  1. 跑“Git Gui”(開始 - > Git - > Git Gui)
  2. 單擊幫助,然后單擊顯示SSH密鑰
  3. 如果您還沒有密鑰,請單擊“生成密鑰”

注意: - 這會在您的個人資料文件夾C:\\ Users \\ YourUserID \\ .ssh \\下創建密鑰文件

在此輸入圖像描述

我發現了一個簡單的解決方案來解決這個

在命令提示符下,轉到git \\ bin目錄,然后從此處執行命令

無需向環境變量添加任何內容! 只需打開git bash並在那里執行命令ssh-keygen。

鏈接到這里下載git bash

如果您已安裝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下的主文件夾中生成

只需轉到heroku.bat並添加:

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

在我的情況下,它在D:\\ Program Files(x86)\\ Git \\ bin中,將其更改為您已安裝Git的路徑。 (我只是把它留給了我的路徑所以它會更清楚如何寫這個)

我想你可以在PATH環境變量中添加文件ssh-keygen.exe的位置。 按照以下步驟操作:轉到我的電腦 - >右鍵單擊 - >屬性 - >高級系統設置 - >單擊環境變量。 現在單擊PATH,然后單擊EDIT。 在變量值字段中,轉到結尾並附加'; C:\\ path \\ to \\ msysgit1.7.11 \\ bin \\ ssh-keygen.exe'(不帶引號)

不要在命令提示符下輸入任何內容

C:\> sh

那你就是這樣的

sh-4.4$ 
# type here 
ssh-4.4$ ssh-keygen -t rsa -b 4096 -C "example@example.com"

這應該必須奏效。

你可能應該檢查一下 Windows沒有內置的命令。

對於Windows,您可以添加:

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

我通過在我的環境變量中添加ssh-keygen來解決這個問題。

對於那些不選擇BASH HERE選項的人。 在cmd中鍵入sh,然后他們應該可以訪問ssh-keygen.exe

在我的機器中, ssh-keygen可從powershell獲得。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM