1

我尝试通过执行以下命令来创建 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

当我导航到本地目录 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
4

1 回答 1

4

如果我没看错,你做到了:

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”查看隐藏文件。

于 2014-07-12T14:54:15.877 回答