我尝试通过执行以下命令来创建 ssh key :
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 命令加载我的私有(private) ssh key
ssh-add /Users/KesongXie/.ssh/id_dsa
它显示了结果:
-bash: ssh-add/Users/KesongXie/.ssh/id_dsa: No such file or directory
当我导航到本地目录 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
key 确实存储在 .ssh 文件夹中,但我想知道为什么我不能使用加载私钥
ssh-add /Users/KesongXie/.ssh/id_dsa
最佳答案
如果我没看错,你做到了:
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”查看隐藏文件。
关于macos - 无法使用 ssh-add 加载私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24714076/