如何为另一个客户端的密钥validationconfigurationSSH访问?

我知道,如果我想configurationSSH访问密钥authentication,我需要使用以下命令:

ssh-keygen -b 2048 -t rsa -C “mypassphrase” 

然后,我需要将我的计算机上的id_rsa.pub创build的代码id_rsa.pub到服务器的〜/ .ssh / authorized_keys文件中。 我也需要设置一些文件夹和文件的权限。 这使我的计算机的密钥身份validation。 现在,我还想知道如何在另一台计算机上启用这种访问。 是否必须将创build的代码添加到id_rsa.pub到相同的~/.ssh/authorized_keys文件中?

谢谢你的帮助。

呃…这不是一个好主意,你为什么要用你的通行短语作为评论(-C选项)?

只需使用ssh-keygen -b 2048 -t rsa

您不需要默认设置任何权限。 您创build密钥作为您想要在远程计算机上login的用户,然后:

cat ~/.ssh/id_rsa.pub | ssh user@server 'cat - >> ~/.ssh/authorized_keys'

从发布文件获取密钥并将其添加到远程站点上的授权密钥。

但是,如果您尝试以远程机器上的root用户身份通过​​密码进行密钥访问,则必须首先将id_rsa.pub复制到具有启用密码身份validation的用户帐户的计算机上,或通过USB然后执行(以id_rsa.pub所在文件夹的root身份) cat id_rsa.pub >> /root/.ssh/authorized keys

确保.ssh文件夹存在。

编辑:创build密钥后更好地使用ssh-copy-id作为@SvWbuild议。 我的方法也是有效的,但在引入ssh-copy-id之前是手动的。

您可以使用公共密钥为尽可能多的客户端,只要你想。

使用ssh-copy-id将文件添加到远程主机很容易:

 ssh-copy-id -i /path/to/id_rsa.pub user@host 

编辑:如果您想要从另一台计算机访问远程主机,则必须将私钥文件复制到此计算机(但不要连接到要连接的远程计算机)。

最好让他们创build自己的rsa / dsa密钥(或者你可以为他们做这些密钥并将密钥发送给他们),并将pub密钥添加到authorized_keys文件中。 即cat new_rsa_id.pub >> authorized_keys。 授权密钥中的每一行都与id_rsa密钥相关。

另外,密码是可选的。 除非公司的安全策略要求,否则我总觉得这是一个烦恼。

如果我正确地理解了你,你想使用另一台计算机上的身份validation密钥来访问服务器。 在这种情况下,只需将id_rsa键复制到要使用它的计算机上。 无论密钥驻留在什么系统(客户端),它都可以工作。