如何为 SSH 设置公钥验证?
最佳答案
如果你安装了 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
时,它应该询问您 key 的密码,而不是远程机器。
为了更好地使用,您可以使用 ssh-agent
将解密的 key 保存在内存中 - 这意味着您不必每次都输入 key 对的密码。要启动代理,请运行(包括反引号,用于评估 ssh-agent
命令的输出)
`ssh-agent`
在某些发行版上,ssh-agent 会自动启动。如果你运行 echo $SSH_AUTH_SOCK
并且它显示了一个路径(可能在/tmp/中)它已经设置好了,所以你可以跳过前面的命令。
然后添加你的 key ,你做
ssh-add ~/.ssh/id_rsa
并输入您的密码。它会一直存储到您将其删除(使用 ssh-add -D
命令,该命令会从代理中删除所有 key )
关于linux - 如何设置公钥认证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7260/