Answers:
我已找到服务器故障的答案:从私钥创建公共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代理中的密钥的公共密钥。代理商(通过ssh-add -l
)。当SSH密钥存储在智能卡上(并且无法访问私钥文件)时,此功能很有用。
~/.ssh/id_rsa
必须限制为您的用户名。使用$ sudo chmod 600 ~/.ssh/id_rsa
并输入您的根证书来限制它,然后您可以输出公共密钥文件。否则,您将收到不受限制的私钥文件警告。
sudo
,您应该已经拥有私钥。否则,您将无法首先阅读它。
400
建议这样做,因为无需写入即可键入私钥文件。更正的命令应该是$ chmod 400 ~/.ssh/id_rsa
id_rsa
文件)没有注释,但是确实id_rsa.pub
丢失了公钥文件()中的注释。
该解决方案专门针对使用Windows通过SSH进入其远程计算机的用户,包括Amazon AWS和GCE上的云映像。
我最近使用此解决方案在GCE上远程登录到新部署的VM映像。
生成密钥/对或使用现有的私钥:
如果您有私钥:
打开puttygen,按“加载”按钮,然后选择您的私钥(* .pem)文件。
如果您没有私钥:
使用记事本创建一个新的“ authorized_keys”文件:
从PuTTY密钥生成器的“粘贴到OpenSSH的公共密钥”部分复制公共密钥数据,然后将密钥数据粘贴到“ authorized_keys”文件中。
确保此文件中只有一行文本。
将密钥上传到Linux服务器:
将authorized_keys文件上传到远程计算机上的主目录。
设置适当的权限:
制作.ssh
目录(如果不存在)
将authorized_keys
文件复制到.ssh目录(这将替换任何现有authorized_keys
文件;请注意这一点)。
如果该文件存在,只需将该文件的内容添加到现有文件中即可。
运行命令设置权限:
sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
现在,您无需每次输入凭据就可以进入远程计算机。
pbcopy > ~/.ssh/id_rsa.pub
哎呀