如何设置SSH的公钥身份验证?
如果安装了SSH,则应该可以运行。
然后执行以下步骤,您将拥有两个文件id_rsa和id_rsa.pub(第一个是您的私钥,第二个是您的公钥-复制到远程计算机的一个)
然后,连接到要登录的远程计算机,在文件~/.ssh/authorized_keys中添加该id_rsa.pub文件的内容。
哦,还有chmod 600所有的id_rsa*文件(本地和远程),因此没有其他用户可以读取它们:
1
| chmod 600 ~/.ssh/id_rsa* |
同样,确保远程~/.ssh/authorized_keys文件也为chmod 600:
1
| chmod 600 ~/.ssh/authorized_keys |
然后,当您执行ssh remote.machine时,它应该询问您密钥的密码,而不是远程计算机。
为了更好地使用它,您可以使用ssh-agent将解密的密钥保存在内存中-这意味着您不必每次都键入密钥对的密码。要启动代理,请运行(包括反引号引起来的ssh-agent命令的输出)
在某些发行版中,ssh-agent是自动启动的。如果您运行echo $SSH_AUTH_SOCK并且它显示了一个路径(可能在/ tmp /中),则它已经设置好了,因此可以跳过前面的命令。
然后添加您的密钥
并输入您的密码。它会一直存储到您删除它为止(使用ssh-add -D命令,该命令将从代理中删除所有密钥)
对于Windows,这是一个很好的介绍和指南
对于Linux以外的系统,这里有一些很好的ssh代理。