「ssh-keygen」は内部または外部コマンドとして認識されません


103

走る git push -u origin master

「アクセスが拒否されました(公開キー)が致命的です:リモートエンドが予期せずハングしました」と表示されます

その後、インターネットで調べたところ、GitHubで自分のアカウントのsshキーを生成する必要があることがわかりました。ただし、そうすることで、ssh-keygen -t rsa "email@youremail.com"を実行しようとすると、ssh-keygenが認識されないというだけでした。mkdir C:\ sshを試してみましたが、うまくいきませんでした。それが役立つ場合は、Ruby Railsを使用していて、Windowsコンピューターを使用しています。誰か助けてもらえますか?

回答:


133

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年更新:Git For Windowsの
ssh-keygen.exe一部であり、リリースに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

私は前に説明した、Windows用のGitはすぐにmsysgitを段階ます。
私は「なぜGit 2.0をネットからダウンロードした場合、常に1.9.4インストーラーパッケージを入手するのですか?」で詳しく説明しました。この新しいバージョンは、最新のmsys2プロジェクトに基づいています。


ssh-keygen.exeWindowsのPATHに含めることは安全ですか?その後、その場所を削除する必要がありますか?
グリーン

実際@Green、それは、Windowsの一部であるPATHあなたと特別なDOSセッションを起動しているので、唯一のgitを使用して、セッション中git-cmd.batgithub.com/msysgit/msysgit/blob/master/git-cmd.batPATHと設定が完了しHOMEます。
VonC 2013

実際には、パスはなしである必要がありますssh-keygen.exe。つまり、この方法でしか機能しません。
アレクサンダー2015

1
@alexander同意します。そして、それをより見やすくするために回答を編集しました。
VonC

7
私にとって、パスはC:\Program Files (x86)\Git\usr\bin
rupinderjeet

65

私はこの問題を抱えていて、これを回避する簡単な方法であると私が思ったことを共有したいと思いました。

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を開く必要がありました。


15
+1は、別のソフトウェアパッケージのインストールを提案しないこと
チップマコーミック

2
+1これは他のインストールを必要としないのでより良いソリューションです
guoleii '13

キーが.sshフォルダに保存されませんでした。既存と同じディレクトリに保存されましたGit Bash
Ahmad Behzadi 2018

51

私は以下のウィンドウでフォローしました(Git for Windowsがインストールされている場合)

  1. 「Git Gui」を実行します(スタート-> Git-> Git Gui)
  2. [ヘルプ]をクリックし、[SSHキーを表示]をクリックします
  3. キーがまだない場合は、[キーの生成]をクリックします

注:-これにより、個人用プロファイルフォルダーC:\ Users \ YourUserID \ .ssh \にキーファイルが作成されます

ここに画像の説明を入力してください


すばらしい回答-新しいSSHキーを作成する簡単な方法
-TY

9

私はこれを修正する簡単な解決策を見つけました:

コマンドプロンプトでgit \ binディレクトリに移動し、ここからコマンドを実行します


6
私のシステム、Windows 10では、ssh-keygen.exeは 'git \ usr \ bin'にありました。
Tarabass

9

環境変数に何かを追加する必要はありません!git bashを開き、そこでssh-keygenコマンドを実行するだけです。

ここに git bashをダウンロードするためのリンク


8

Gitがインストールされていて、C:\ Program Filesにインストールされている場合は、以下のようにします。

  1. 「C:\ Program Files \ Git」に移動します
  2. git-bash.exeを実行すると、新しいウィンドウが開きます
  3. 新しいbashウィンドウで、「ssh-keygen -t rsa -C」を実行します。
  4. キーを保存するファイルの入力を求めます。値を入力しないでください-Enterキーを押すだけです
  5. パスフレーズと同じ(2回)、Enterキーを押すだけ
  6. id_rsaおよびid_rsa.pubは、.sshの下のホームフォルダーに生成されます

4

heroku.batに移動して、以下を追加してください:

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

私の場合は、D:\ Program Files(x86)\ Git \ binにあります。Gitをインストールしたパスに変更します。(私はそれを私のパスに残したので、これを書く方法についてより明確になります)


3

ファイルssh-keygen.exeの場所をPATH環境変数に追加できると思います。次の手順に従います。「マイコンピュータ」->「右クリック」->「プロパティ」->「システムの詳細設定」->「環境変数をクリック」に移動します。次にPATHをクリックし、次にEDITをクリックします。変数値フィールドで、末尾に移動して '; C:\ path \ to \ msysgit1.7.11 \ bin \ ssh-keygen.exe'(引用符なし)を追加します


3

コマンドプロンプトに入力するだけで何もしない

C:\> sh

その後、あなたはこのようになりました

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

これはうまくいくはずです。


2

ウィンドウの場合、これを追加できます:

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



0

BASH HEREオプションを選択しない場合。cmdにshと入力すると、ssh-keygen.exeにアクセスできるはずです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.