如何设置公钥验证?

时间:2008-08-10 17:50:11

标签: linux ssh private-key public-key

如何为SSH设置公钥验证?

2 个答案:

答案 0 :(得分:100)

如果您安装了SSH,则应该可以运行..

ssh-keygen

然后执行这些步骤,您将有两个文件id_rsaid_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)

对于Windows this是一个很好的介绍和指南

以下是除linux以外的系统的一些好的ssh-agent。