第 2 步:生成新的 SSH 密钥

第 2 步:生成新的 SSH 密钥

我想为 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_rsassh-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 设置。简单又安全。免责声明:我是该工具的作者。

相关内容