如何设置公钥认证?
答
如果您已经安装了SSH,你应该能够运行..
ssh-keygen
然后经过的步骤,你将有两个文件,id_rsa
和id_rsa.pub
(第一个是您的私钥,第二个是您的公钥 - 您复制到远程机器的公钥s)
然后,连接到您要登录的远程机器,将文件~/.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
持有解密的密钥存储器中 - 这意味着你不必键入您的密钥对的密码,每一次。要启动代理,运行(包括背面蜱报价,这EVAL的ssh-agent
命令的输出)
`ssh-agent`
在一些发行版,SSH代理会自动启动。如果你运行了echo $SSH_AUTH_SOCK
并且它显示了一个路径(可能在/ tmp /中),它已经设置好了,所以你可以跳过前面的命令。
然后添加你的钥匙,你做
ssh-add ~/.ssh/id_rsa
,并输入您的密码。它被存储,直到你删除它(使用ssh-add -D
命令,该命令将删除代理中的所有密钥)
如果您必须创建.ssh文件夹,请不要将其设置为像我一样的600,否则您将会遇到不好的时间。请将其设置为700. :-) – 2014-02-21 14:04:17