git 使用ssh-keygen创建SSH密钥不会创建.ssh文件夹

k97glaaz  于 2023-08-01  发布在  Git
关注(0)|答案(8)|浏览(273)

我正在尝试使用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。

km0tfn4u

km0tfn4u1#

您可以从创建预期的文件夹开始,并检查您是否可以访问它:

mkdir "%USERPROFILE%\.ssh"
dir "%USERPROFILE%\.ssh"
cd "%USERPROFILE%\.ssh"

字符串
确保您没有名为HOME的Windows环境变量,当从CMD会话(而不是bash会话)使用ssh.exessh-keygen.exe命令时,该变量将优先。

echo HOME='%HOME%'


您可以使用(来自CMD或bash)

ssh-keygen -C "vonc@xxxx" -t rsa -P "" -f ~/.ssh/mykey
                                       ^^^^^^^^^^^^^^^


这将创建一个%USERPROFILE%\.ssh\mykey%USERPROFILE%\.ssh\mykey.pub
作为测试,我刚刚创建了我的密钥,没有任何问题(Seven 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:

ncecgwcz

ncecgwcz2#

我遇到了同样的问题,我意识到我试图输入一个文件名时,它要求以下“输入保存密钥的文件(c/users/user.name/.ssh/id_rsa)”
而只是输入什么,按回车键使用默认值,你会继续前进。

krugob8w

krugob8w3#

我在创建SSH密钥时遇到了类似的问题,我用这种方法解决了它。
当您使用ssh-keygen -t rsa生成SSH密钥时,它提示您
Enter file in which to save the key (/Users/iamarasekera/.ssh/id_rsa):
不要给予任何文件名。相反,只需按下“Enter”键,然后继续。
然后它将创建.ssh文件夹,并在该文件夹中生成2个文件id_rsaid_rsa.pub
您还将在命令提示符处看到消息Created directory '/<path to your current folder>/.ssh'.
接下来,它将提示您Enter passphrase,您最好不要跳过它。
看看这个供你参考。


的数据
Note:如果你输入一个文件名,当它提示你输入一个文件名以保存密钥时,它会在你当前所在的目录中创建两个文件,分别为<filename><filename>.pub,而不创建一个.ssh文件夹。
希望这对你有帮助。

xt0899hw

xt0899hw4#

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

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

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

ego6inou

ego6inou5#

我遇到了类似的情况,解决方案,为我工作已经描述如下.
创建密钥时出现以下消息-
第一个月
只需按回车键在这里,不要提供任何文件名,否则该键将在您的当前工作目录中创建。

uxhixvfz

uxhixvfz6#

只有文件名是不够的!
您需要指定完整路径。针对您的要求
第一个月
否则,您的密钥将存储在命令提示符的当前目录中。
例如,如果您从/c/project运行,则密钥将存储为/c/project/project/c/project/project.pub

brtdzjyr

brtdzjyr7#

这对我很有效。参考下面的链接
http://ekawas.blogspot.co.uk/2007/03/solving-pesky-ssh-issues-in-cygwin.html
在c:/cygwin 64/etc中编辑passwd文件。用写字板打开
将home/YOUR_NAME编辑为/cygdrive/c/Documents and Settings/YOUR_NAME

idfiyjo8

idfiyjo88#

这是晚了,但我在这里提供的解决方案之后没有做任何更改,我只是以管理员的身份运行了Git Bash。果然是这样。

相关问题