1

我想这可能是一个基本的 Linux 问题,但是我在为我正在管理的一组机器设置一个单一的 SSH 密钥时遇到了一些麻烦。

在对此事进行研究时,我看到的大多数教程都允许您从最初生成密钥的机器通过 SSH 连接到您放置相同密钥的其他机器。但我希望能够从我农场中的任何机器通过 SSH 连接到任何其他机器。

是否有捷径可寻?还是我坚持在所有机器之间创建密钥对?我们正在做一些脚本工作,在所有机器之间拥有 SSH 访问权限是至关重要的。

4

4 回答 4

4

不仅有可能,而且非常普遍!

只需将id_rsa.pub您生成的部分密钥ssh-keygen安装到~/.ssh/authorized_keys远程机器上即可。

当您从工作站通过 SSH 连接到远程系统时,SSH 将使用本地私钥id_rsa登录,这将针对远程系统的~/.ssh/authorized_keys文件进行验证。

--

您更新了问题以提及您希望从任何机器 SSH 到任何其他机器。这不被认为是良好的安全实践。相反,您应该有一个包含私钥的“管理员”机器。但是,如果您必须这样做,请将~/.ssh/id_rsa私钥复制到您的所有计算机。

于 2013-03-05T19:22:36.927 回答
0

我想您可以将相同的私钥 ( id_rsa) 复制到所有机器,并将相同的相应公钥 ( id_rsa.pub) 添加到所有机器的authorized_keys.

然后你可能想ssh-agent在所有机器上运行并注册私钥ssh-add

但是,从安全的角度来看,我对此有点不安。

于 2013-03-05T19:27:14.450 回答
0

甚至还有一个命令可以为您执行此操作,以确保事后文件权限正确:

ssh-copy-id user@machine
于 2013-03-05T19:28:15.393 回答
0

使用ssh-agent. 您使用ssh-add.

现在使用ssh -A. 这会将您的代理转发到另一台主机,并允许您从第一台主机登录到下一台主机。

鉴于您已将公钥(例如使用ssh-copy-id)复制到所有主机,因此您可以从任何主机登录到任何其他主机。

于 2013-05-15T21:14:58.083 回答