如何为SSH设置公钥验证?
答案 0 :(得分:100)
如果您安装了SSH,则应该可以运行..
ssh-keygen
然后执行这些步骤,您将有两个文件id_rsa
和id_rsa.pub
(第一个是您的私钥,第二个是您的公钥 - 您复制到远程计算机的那个)
然后,连接到要登录的远程计算机,文件~/.ssh/authorized_keys
添加该id_rsa.pub
文件的内容。
哦,chmod 600
所有id_rsa*
个文件(本地和远程),所以没有其他用户可以阅读它们:
chmod 600 ~/.ssh/id_rsa*
同样,确保远程~/.ssh/authorized_keys
文件也是chmod 600
:
chmod 600 ~/.ssh/authorized_keys
然后,当你ssh remote.machine
时,它会询问你密钥的密码,而不是远程机器。
为了使其更好用,您可以使用ssh-agent
将解密密钥保存在内存中 - 这意味着您不必每次都键入密钥对的密码。要启动代理程序,请运行(包括后退标记引号,它会评估ssh-agent
命令的输出)
`ssh-agent`
在某些发行版上,ssh-agent会自动启动。如果你运行echo $SSH_AUTH_SOCK
并且它显示了一个路径(可能在/ tmp /中)它已经设置好了,所以你可以跳过上一个命令。
然后添加你的密钥,你可以
ssh-add ~/.ssh/id_rsa
输入您的密码。它被存储,直到你删除它(使用ssh-add -D
命令,从命令中删除所有键)
答案 1 :(得分:5)