ssh-keygen生成的SSH私钥包含公钥部分。如何从私钥中检索此公钥?我丢失了公共密钥,需要将该公共密钥的内容放入服务器authorized_keys文件中,并且不想创建新的密钥对。

也可以这样说:如何创建id_rsa.pub来自id_rsa文件的文件?

评论

pbcopy>〜/ .ssh / id_rsa.pub哎呀。

@NickT-pbcopy是MacOSX命令。另外,如果您已重新启动,注销或将其他任何内容复制到剪贴板,则没有用。

#1 楼

我已找到有关服务器故障的答案:从私钥创建公共SSH密钥?

选项-y输出公共密钥:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub


作为一个补充说明,公钥的注释丢失了。我有一个需要评论的网站(Launchpad?),因此您需要编辑~/.ssh/id_rsa.pub并将评论添加到第一行,并在评论和关键数据之间留一个空格。公共密钥的示例在下面被截断了。

ssh-rsa AAAA..../VqDjtS5 ubuntu@ubuntu


对于添加到SSH代理(在后台运行的程序,无需重新启动的程序)的密钥一遍又一遍地输入密钥文件密码短语),可以使用ssh-add -L命令列出已添加到代理的密钥的公共密钥(通过ssh-add -l)。当SSH密钥存储在智能卡上(并且无法访问私钥文件)时,此功能很有用。

评论


请注意,您的私钥文件〜/ .ssh / id_rsa必须限制为您的用户名。使用$ sudo chmod 600〜/ .ssh / id_rsa并输入您的根凭据以对其进行限制,然后可以输出公共密钥文件。否则,您将收到不受限制的私钥文件警告。

–马克·米科夫斯基
2015年9月6日在4:30



@MarkMikofski不需要sudo,您应该已经拥有私钥。否则,您将无法首先阅读它。

– Lekensteyn
2015年9月6日于10:28

@Lekensteyn谢谢,您当然是对的!还建议使用400,因为无需写入以键入私钥文件。更正的命令应为$ chmod 400〜/ .ssh / id_rsa

–马克·米科夫斯基
2015年9月6日14:38在

私钥注释丢失。参见stackoverflow.com/questions/38290929/…

–weberjn
18年2月2日在10:07

@weberjn私钥(id_rsa文件)没有注释,但是确实丢失了公钥文件(id_rsa.pub)中的注释。

– Lekensteyn
18年2月2日在10:43

#2 楼

这是一个专门针对使用Windows的SSH用户到其远程计算机(包括Amazon AWS和GCE上的云映像)的用户的解决方案。 GCE上的图像。

使用的工具:

puttygen
WinSCP



执行步骤:

使用puttygen生成公钥/私钥对。
将公钥上传到云或远程位置中的服务器。


说明(操作方法) :


生成密钥/对或使用现有的私钥:
如果有私钥:
打开puttygen,请按加载按钮并选择您的私钥密钥(* .pem)文件。
如果没有私钥:

打开Puttygen,
选择所需的密钥类型SSH2 DSA(可以使用RSA或DSA )在“参数”部分...中,将密码短语字段留空很重要,
按“生成”并按照说明进行操作以生成(公共/专用)密钥配对。




创建一个新的“ authorized_keys”文件(使用记事本):
从“公共密钥为粘贴到PuTTY密钥生成器的OpenSSHauthorized_keys文件”部分中,然后将密钥数据粘贴到“ authorized_keys”文件中。
确保该文件中只有一行文本。


将密钥上传到Linux服务器:

打开WinSCP,
选择SFTP文件协议并使用SSH凭据登录。
成功后,您会看到远程计算机上的主目录结构。

将authorized_keys文件上传到远程计算机上的主目录。


设置适当的权限:
.ssh目录(如果不存在)
authorized_keys文件复制到.ssh目录(这将替换任何现有的authorized_keys文件;请注意)。
如果文件存在,只需将该文件的内容添加到现有文件中即可。
运行命令来设置权限:
 sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys



现在,您将能够在无需每次输入凭据的情况下进入远程计算机。
进一步阅读:


在Windows下生成和上传SSH密钥


使用OpenSSH密钥,证书.pem和.pub
进行无密码身份验证



评论


如果您的主目录已加密,请执行以下操作:askubuntu.com/questions/439184/…

– devprashant
2015年11月21日10:06



尽管您的回答与该问题并非真正相关,但由于您的热情,我投了赞成票。

– Truong Nguyen
16年12月13日在16:53