保存ssh密钥失败

Eva*_*ias 24 git github ssh-keys

我刚开始一个Git教程,我得到了一个deadend:我尝试生成一个rsa关键部分,但它失败了.我用git bash做了这个:

ssh-keygen -t rsa -C "myemail@myemail.com"
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

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.
Run Code Online (Sandbox Code Playgroud)

我试图保存在一个不同的文件夹中,它就可以了.但现在我执行命令ssh -T git@github.com ,它给了我错误permisson denied (publickey).

小智 31

如果您使用的是Windows,则ssh-keygen的unix样式默认路径出错.

在第2行它说Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):.parantheses中的完整文件名是默认的,显然Windows无法访问这样的文件.如果您键入Windows等效项(c:\Users\Eva\.ssh\id_rsa),它应该工作.

c:\Users\Administrator\.ssh>ssh-keygen -t rsa -C "myemail@myemail.com"
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:
... myemail@myemail.com
The key's randomart image is:...`
Run Code Online (Sandbox Code Playgroud)

我知道这是一个老线程,但我认为答案可能会帮助其他人.

  • 请注意,您必须在运行命令之前创建目录。创建以。开头的Windows目录。你必须放一个。之前,它将自动删除“ .ssh”。创建“ .ssh”。 (2认同)

Fir*_*ero 12

如果您更喜欢使用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


Von*_*onC 10

看起来您正在从DOS会话执行该命令(请参阅此线程),这意味着您需要.ssh在所述命令之前创建目录.

或者你可以从bash会话(msysgit发行版的一部分)执行它,它应该可以工作.


Jar*_*red 8

我遇到过同样的问题.我必须使用Windows约定提供完整路径.在这一步:

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

提供以下值:

c:\users\eva\.ssh\id_rsa

  • OSX也是:而不是〜/ .ssh/id_rsa我不得不使用/Users/<username>/.ssh/id_rsa (2认同)

whe*_*nov 5

您必须自己创建 .ssh 文件夹以保存 ssh 密钥。

顺便说一句,我使用了这种路径样式: C:/Users/you/.ssh/id_rsa