如何为 SSH 设置公钥身份验证?
问问题
99025 次
2 回答
105
如果您安装了 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
从代理中删除所有密钥的命令)
于 2008-08-12T18:13:37.127 回答