我想为 github 生成 ssh 密钥。
我遵循他们的文档生成 SSH 密钥。
我最后完成了所有步骤:
xclip -sel clip < ~/.ssh/id_rsa.pub
将 id_rsa.pub 文件的内容复制到剪贴板
这是我的尝试:
nazar@nazar-desctop:~/.ssh$ ls -lag
total 16
drwxr-xr-x 2 nazar 4096 Dec 21 16:28 .
drwxr-xr-x 39 nazar 4096 Dec 21 16:17 ..
-rw------- 1 nazar 1766 Dec 21 16:28 ssh-add id_rsa
-rw-r--r-- 1 nazar 404 Dec 21 16:28 ssh-add id_rsa.pub
nazar@nazar-desctop:~/.ssh$ xclip -sel clip < ~/.ssh/id_rsa.pub
bash: /home/nazar/.ssh/id_rsa.pub: No such file or directory
为什么会发生这种情况?
- 如何解决这个烦恼呢?
答案1
您错过了步骤 2 中的一条指令(重点是我的):
第 2 步:生成新的 SSH 密钥
要生成新的 SSH 密钥,请输入以下代码。我们需要默认设置,因此当被要求输入保存密钥的文件时,只需按 Enter 键。
$ ssh-keygen -t rsa -C "[email protected]" # Creates a new ssh key, using the provided email as a label # Generating public/private rsa key pair. # Enter file in which to save the key (/home/you/.ssh/id_rsa): $ ssh-add id_rsa
该命令使用注释部分中的文本创建一个新的 RSA 密钥文件。调用该命令时,系统会要求您提供文件名。在这种情况下,按下 将使用默认值 ( )。ssh-keygen -t rsa -C [email protected]
[email protected]
Enter/home/you/.ssh/id_rsa
此后的命令 ( ssh-add id_rsa
) 将密钥文件添加到 SSH 代理守护进程,这样您在每个会话中只需要输入一次密码。(请参阅ssh-add
和的手册页ssh-agent
)。
要从此错误中“恢复”,您可以删除文件ssh-add id_rsa
并ssh-add id_rsa.pub
重新开始或重命名:
mv ~/.ssh/ssh-add\ id_rsa ~/.ssh/id_rsa
mv ~/.ssh/ssh-add\ id_rsa.pub ~/.ssh/id_rsa.pub
答案2
该教程写得很糟糕:
它说:
我们需要默认设置,因此当被要求输入要保存密钥的文件时,只需按回车键。
但输出显示:
Enter file in which to save the key (/home/you/.ssh/id_rsa):
$ ssh-add id_rsa
我不知道该ssh-add id_rsa
命令是如何出现在输出中的。当它要求输入文件名称时,只需按ENTER,就像教程中写的那样。忽略$ ssh-add id_rsa
输出中的内容,它不应该在那里。
答案3
ssh-add id_rsa
您有名为“ ”和“ ”的文件ssh-add id_rsa.pub
。您做错了。删除这些文件并重试整个过程。
或者直接使用github-keygen用于您的 SSH 设置。简单又安全。免责声明:我是该工具的作者。