web-dev-qa-db-ja.com

SSHキーの保存に失敗する

gitチュートリアルを開始したばかりで行き止まりになりました。rsaキーパーツを生成しようとすると失敗します。私はこれをgit bashで行いました:

_ssh-keygen -t rsa -C "[email protected]"
_

そして、私はこれを得ました:

_Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):
enter passphrase:
enter same passphrase again:
open /c/Users/Eva/.ssh/id_rsa failed: no such file or directory.
Saving the key failed:/c/Users/Eva/.ssh/id_rsa.
_

私は別のフォルダに保存しようとしましたが、うまくいきました。しかし、今私は_ssh -T [email protected]_コマンドを実行し、それは私にエラーを与えますpermisson denied (publickey).

23
Eva Dias

GUIを使用してキーを作成する場合

  1. PuTTY Genを使用してキーを生成する
  2. キーをオープンSSHキーとしてエクスポートします
  3. @VonCで述べたように、.sshディレクトリを作成し、そこに秘密鍵と公開鍵をドロップできます
  4. または、GUIプログラム( Tortoise Git など)を使用してSSHキーを使用します

上記の手順のPuTTY genのチュートリアルについては、 http://ask-leo.com/how_do_i_create_and_use_public_keys_with_ssh.html をご覧ください。

12
First Zero

Windowsを使用している場合、ssh-keygenのUNIXスタイルのデフォルトパスに問題があります。

2行目では、Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):と書かれています。括弧内の完全なファイル名がデフォルトであり、Windowsがそのようなファイルにアクセスできないことは明らかです。同等のWindows(c:\Users\Eva\.ssh\id_rsa)を入力すると、動作するはずです。

これを実行する前に、フォルダーも作成する必要があります。これを行うには、mkdir c:\Users\Eva\.sshを実行するか、フォルダー ".ssh"を作成します。ファイルエクスプローラーから(末尾の2番目のドットに注意してください。これは自動的に削除され、先頭にドットがあるフォルダーを作成するために必要です)。

c:\Users\Administrator\.ssh>ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/Administrator/.ssh/id_rsa): C:\Users\Administrator\.ssh\id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\Administrator\.ssh\id_rsa.
Your public key has been saved in C:\Users\Administrator\.ssh\id_rsa.pub.
The key fingerprint is:
... [email protected]
The key's randomart image is:...`

私はこれが古いスレッドであることを知っていますが、答えは他の人に役立つかもしれないと思いました。

27
csaba.sulyok

DOSセッションからそのコマンドを実行しているようです( this thread を参照してください)。つまり、.sshコマンドの前のディレクトリ。

または、bashセッション(msysgitディストリビューションの一部)から実行できますが、動作するはずです。

10
VonC

同じ問題がありました。 Windowsの規則を使用して完全なパスを提供する必要がありました。このステップでは:

Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):

次の値を指定します。

c:\users\eva\.ssh\id_rsa

8
Jared

Sshキーを保存するには、自分で.sshフォルダーを作成する必要があります。

ところで、このパススタイルを使用しました:C:/Users/you/.ssh/id_rsa

4
whenov

私はしばらくの間(Macを使用して)同じ問題に苦労しました。これが私がやったことであり、最終的に機能しました:
(1).sshディレクトリが存在することを確認します。

#show all files including hidden
ls -a 

(2)justですべてのデフォルト値を受け入れ、プロンプトでEnterキーを押します

Enter file in which to save the key (/Users/username/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

メッセージが表示されます:

Your identification has been saved in /Users/username/.ssh/id_rsa.
Your public key has been saved in /Users/username/.ssh/id_rsa.pub.
The key fingerprint is:
BZA156:HVhsjsdhfdkjfdfhdX+BundfOytLezXvbx831/s [email protected]
The key's randomart image is:XXXXX

PS Rails用にgitを設定している場合、次のことを行います( source ):

git config --global color.ui true
git config --global user.name "yourusername"
git config --global user.email "[email protected]"
ssh-keygen -t rsa -C "[email protected]" 

(Enterキーを押してすべてのデフォルトを受け入れます)

2
Tanya Gupta

Windowsでは、最初にユーザープロファイルを指す環境変数HOME(C:\Users\<name>)または任意のディレクトリを作成する必要がありました。

次に、新しいコマンドラインウィンドウを起動し、ユーザープロファイルに.sshディレクトリを作成するか、mkdir ".ssh"コマンドを使用してディレクトリを選択します。

それを行った後、パスの問題なしでssh-keygenを使用することができました。

1
Mario Neubauer

私は同じ問題に直面しました。 Windowsでのソリューション:

  1. スタートメニューを開き、cmdと入力します
  2. 正しく、管理者として実行を選択します
  3. 次に、cd Users_YOURUSERNAME_ \と入力します。「[〜#〜] yourusername [〜#〜]」をWindowsアカウント名に置き換えます
  4. タイプ: mkdir .ssh

これにより、.sshフォルダーが作成されます。

0
Richardd

Gitに付属しているウィンドウでbashを使用していました。問題は、ホームパスを示すために使用していたチルダ(〜)が適切に展開されると想定したことです。 cdを使用しても機能しますが、このエラーを修正するには絶対パスを指定する必要がありました。

0
Despertar

あなたの方法はMacでも問題なく動作するはずですが、Windowsでは2つの追加手順が必要です。

  1. 目的の場所に新しいフォルダーを作成し、「。ssh」という名前を付けます。 (閉じ点に注意してください-これは消えますが、「。」で始まるフォルダーを作成するために必要です)
  2. プロンプトが表示されたら、ファイルパス形式C:/Users/NAME/.ssh/id_rsaを使用します(.sshには閉じ点がないことに注意してください)。

Id_rsaキーをこの場所に保存すると、許可エラーが解決するはずです。

0