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).
GUIを使用してキーを作成する場合
上記の手順のPuTTY genのチュートリアルについては、 http://ask-leo.com/how_do_i_create_and_use_public_keys_with_ssh.html をご覧ください。
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:...`
私はこれが古いスレッドであることを知っていますが、答えは他の人に役立つかもしれないと思いました。
DOSセッションからそのコマンドを実行しているようです( this thread を参照してください)。つまり、.ssh
コマンドの前のディレクトリ。
または、bashセッション(msysgitディストリビューションの一部)から実行できますが、動作するはずです。
同じ問題がありました。 Windowsの規則を使用して完全なパスを提供する必要がありました。このステップでは:
Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):
次の値を指定します。
c:\users\eva\.ssh\id_rsa
Sshキーを保存するには、自分で.sshフォルダーを作成する必要があります。
ところで、このパススタイルを使用しました:C:/Users/you/.ssh/id_rsa
私はしばらくの間(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キーを押してすべてのデフォルトを受け入れます)
Windowsでは、最初にユーザープロファイルを指す環境変数HOME
(C:\Users\<name>)
または任意のディレクトリを作成する必要がありました。
次に、新しいコマンドラインウィンドウを起動し、ユーザープロファイルに.ssh
ディレクトリを作成するか、mkdir ".ssh"
コマンドを使用してディレクトリを選択します。
それを行った後、パスの問題なしでssh-keygenを使用することができました。
私は同じ問題に直面しました。 Windowsでのソリューション:
mkdir .ssh
これにより、.sshフォルダーが作成されます。
Gitに付属しているウィンドウでbashを使用していました。問題は、ホームパスを示すために使用していたチルダ(〜)が適切に展開されると想定したことです。 cdを使用しても機能しますが、このエラーを修正するには絶対パスを指定する必要がありました。
あなたの方法はMacでも問題なく動作するはずですが、Windowsでは2つの追加手順が必要です。
Id_rsaキーをこの場所に保存すると、許可エラーが解決するはずです。