一尘不染

如何设置公钥认证?

linux

如何设置SSH的公钥身份验证?


阅读 475

收藏
2020-06-02

共1个答案

一尘不染

如果安装了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命令后,该命令将从代理中删除所有密钥)

2020-06-02