我尝试通过以下命令创建一个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
答案 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”查看隐藏文件。