无法使用ssh-add加载私钥

时间:2014-07-12 14:47:27

标签: macos ssh ssh-keygen

我尝试通过以下命令创建一个ssh密钥:

ssh-keygen -t dsa

然后它会提示我输入商店路径:

Enter file in which to save the key (/Users/KesongXie/.ssh/id_dsa): id_dsa
输入密码后,我得到了以下结果

Your identification has been saved in id_dsa.
Your public key has been saved in id_dsa.pub.

然后我尝试使用followibg命令加载我的私有ssh密钥

ssh-add /Users/KesongXie/.ssh/id_dsa

显示结果:

-bash: ssh-add/Users/KesongXie/.ssh/id_dsa: No such file or directory

当我导航到我的本地diretory,Users / KesongXie,我找不到.ssh文件(正如预期的那样,doc文件被隐藏),但是当我尝试在终端中查看它时,我输入

cd ~
pwd

我得到Users/KesongXie  我厌倦了ls并希望看到我的.ssh,但它仍然是看不见的。然后我试着

cd .ssh

我发现我然后进入.ssh目录,使用ls,我可以看到以下结果:

github_rsa  github_rsa.pub  id_dsa      id_dsa.pub  known_hosts

密钥存储在.ssh文件夹中,但我想知道为什么我无法使用

加载私钥
ssh-add /Users/KesongXie/.ssh/id_dsa

1 个答案:

答案 0 :(得分:3)

如果我读得正确,你做了:

Enter file in which to save the key (/Users/KesongXie/.ssh/id_dsa): id_dsa

这告诉ssh-keygen命令在当前目录中创建一个id_dsa文件。要在.ssh目录中创建一个,只需按Enter键。

所以现在你的主目录中有关键文件,你没有.ssh目录(至少这是我怀疑发生的事情)

“cd .ssh”命令将不执行任何操作,因为您没有.ssh目录。这就是为什么其他程序抱怨文件没有退出的原因。

顺便说一句,ls命令不会显示任何以点开头的文件,例如“.ssh”,因为这些文件是隐藏的。使用“ls -a”查看隐藏文件。