跨网络中所有机器的SSH,怎么样?

时间:2013-03-05 19:18:19

标签: linux networking ssh centos redhat

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

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

有一种简单的方法吗?还是我坚持在所有机器之间创建密钥对?我们正在进行一些脚本编写工作,我们在所有机器之间进行SSH访问至关重要。

4 个答案:

答案 0 :(得分:4)

这不仅是可能的,而且非常普遍!

只需使用id_rsa.pub生成的密钥的ssh-keygen部分,然后将其安装到远程计算机上的~/.ssh/authorized_keys即可。

当您从工作站SSH到远程系统时,SSH将使用本地私钥id_rsa登录,这将验证远程系统的~/.ssh/authorized_keys档案。

-

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

答案 1 :(得分:0)

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

然后您可能希望在所有计算机上运行ssh-agent并使用ssh-add

注册私钥

但是从安全的角度来看,我会对此感到有些不安。

答案 2 :(得分:0)

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

ssh-copy-id user@machine

答案 3 :(得分:0)

使用ssh-agent。您可以使用ssh-add将私钥添加到其中。

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

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