【问题标题】:Creating a SSH key with ssh-keygen does not create the .ssh folder使用 ssh-keygen 创建 SSH 密钥不会创建 .ssh 文件夹
【发布时间】:2021-11-28 22:25:13
【问题描述】:

我正在尝试使用 msysgit 创建我的公钥/私钥 rsa 密钥对

我运行这个命令:

ssh-keygen -C "email@email.com" -t rsa

一切正常,我有消息

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

然后我得到确认:

Your public key has been saved in project.pub

但我无法访问该文件夹!它不存在,甚至不是隐藏文件夹。我不明白为什么它不生成。我正在使用 Windows 7 Ultimate。

【问题讨论】:

  • 不止于此。如果您创建文件夹 - 成功生成后不会出现密钥。你解决你的问题了吗?现在还是一样
  • 如果您输入project 作为您的文件,该文件将在您的当前目录中创建。如果你想把它放在 .ssh 文件夹里,要么在里面 cd 要么输入完整路径。

标签: git ssh mingw version-control unfuddle


【解决方案1】:

刚刚创建我的密钥没有任何问题(7 Ultimate 64bits,msysgit 1.6.5.1.1367.gcd48)

$ ssh-keygen -C "vonc@xxxx" -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/VonC/.ssh/id_rsa):# just press enter
                                                                # to accept the
                                                                # default location
Enter passphrase (empty for no passphrase):                     
Enter same passphrase again:
Your identification has been saved in /c/Users/VonC/.ssh/id_rsa.
Your public key has been saved in /c/Users/VonC/.ssh/id_rsa.pub.
The key fingerprint is:
xx:yy:zz:aa:bb:cc:... vonc@xxxx

结果:

VonC@P ~/.ssh
$ ls -alrt
total 10
-rw-r--r--    1 VonC Administ      642 May 23 21:47 known_hosts
drwxr-xr-x   43 VonC Administ    16384 Jun 15 17:01 ..
-rw-r--r--    1 VonC Administ      398 Jun 19 16:14 id_rsa.pub
-rw-r--r--    1 VonC Administ     1675 Jun 19 16:14 id_rsa
drwxr-xr-x    2 VonC Administ        0 Jun 19 16:14 .

您能否在您的 bash 会话中检查您的 $HOME 环境变量设置了什么值?

VonC@P ~/.ssh
$ env|grep HOME
HOMEPATH=\Users\VonC
HOME=/c/Users/VonC     # <=== this must be correctly set
HOMEDRIVE=C:

【讨论】:

  • 感谢 VonC,您让我意识到我的错误是,当我被要求输入保存密钥的文件时,我输入了一个名称。我刚刚按了 Enter,它生成了 id_rsa 和 id_rsa.pub 文件。现在完美运行
  • @couellet:感谢您的反馈。我已经编辑了我的答案以反映它。
  • @VonC 谢谢,这是我的情况
  • 检查 .ssh 是否不是符号链接(Mackup 和其他人这样做是为了备份)。
【解决方案2】:

我遇到了同样的问题,当它要求以下“输入保存密钥的文件(c/users/user.name/.ssh/id_rsa)”时,我意识到我正在尝试输入文件名

而无需输入任何内容并按 Enter 键以使用默认值,然后您将继续前进。

【讨论】:

  • 我意识到它需要完整路径,而不仅仅是名称,否则文件将在 cmd 当前工作目录中创建。此外,如果您仅输入名称,您将在摘要默认路径中看到“bla bla 保存在 /c/Users/{UserName}/.ssh/id_rsa_name”
  • @CeH9 - FWIW,当我只输入名称时出错,它没有给出完整路径;它只是说“..保存在我的文件名中。” [如果我按 Enter 接受默认路径,它具有该默认位置的完整路径。]
【解决方案3】:

我在创建 SSH 密钥时遇到了类似的问题,我以这种方式解决了它。

当您使用ssh-keygen -t rsa 生成 SSH 密钥时,它会提示您

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

不要给出任何文件名。相反,只需按“Enter”键即可。

然后它将创建.ssh 文件夹,并在该文件夹中生成两个文件id_rsaid_rsa.pub

您还将在命令提示符处看到消息Created directory '/&lt;path to your current folder&gt;/.ssh'.

接下来,它会提示您Enter passphrase,您最好不要跳过它。

查看此内容以供参考。

Note:如果在提示您输入文件名以保存密钥时输入文件名,它会在您当前所在的目录中创建 2 个文件,分别为 &lt;filename&gt;&lt;filename&gt;.pub,而无需创建 . ssh 文件夹。

希望这会有所帮助。

【讨论】:

  • 我想知道为什么它没有创造任何东西哈哈。这解释了,谢谢
  • inside the directory where you are currently located without creating a .ssh folder. 是这里的神奇短语
【解决方案4】:

如果您已经有一个名为“id_rsa”的密钥并且您想以不同的名称保存一个新密钥,那么您需要提供整个路径,如果我理解的话。所以当它问:

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

您可以输入/c/Users/myname/.ssh/new_key 它将被创建(我刚刚测试过)。

【讨论】:

    【解决方案5】:

    这对我有用.. 请参阅下面的链接

    http://ekawas.blogspot.co.uk/2007/03/solving-pesky-ssh-issues-in-cygwin.html

    编辑 c:/cygwin64/etc 中的 passwd 文件。用写字板打开

    将主页/YOUR_NAME 编辑为 /cygdrive/c/Documents and Settings/YOUR_NAME

    【讨论】:

      【解决方案6】:

      这已经很晚了,但是我在这里提供的解决方案没有做出改变之后,我只是以管理员身份运行了 Git Bash。它以这种方式按预期工作。

      【讨论】:

        猜你喜欢
        • 2018-09-08
        • 2019-05-02
        • 2016-10-18
        • 2021-09-10
        • 2020-08-06
        • 2021-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多