Linux 如何跨网络中的所有计算机进行SSH?

Linux 如何跨网络中的所有计算机进行SSH?,linux,networking,ssh,centos,redhat,Linux,Networking,Ssh,Centos,Redhat,我想这可能是Linux的一个基本问题,但我在为我管理的机器群设置单一SSH密钥时遇到了一些麻烦 在对这一问题进行研究时,我看到的大多数教程都允许您从最初生成密钥的机器SSH到放置相同密钥的其他机器。但是我希望能够从我的服务器场中的任何机器SSH到任何其他机器 有没有一个简单的方法可以做到这一点?还是我一直在所有机器之间创建密钥对?我们正在进行一些脚本编写工作,在所有机器之间拥有SSH访问权是至关重要的。这不仅是可能的,而且是非常常见的 只需获取使用ssh-keygen生成的密钥的id_rsa.p

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

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


有没有一个简单的方法可以做到这一点?还是我一直在所有机器之间创建密钥对?我们正在进行一些脚本编写工作,在所有机器之间拥有SSH访问权是至关重要的。

这不仅是可能的,而且是非常常见的

只需获取使用ssh-keygen生成的密钥的id_rsa.pub部分,并将其安装到远程机器上的~/.ssh/authorized_密钥中

当您从工作站SSH到远程系统时,SSH将使用本地私钥id_rsa登录,这将根据远程系统的~/.SSH/authorized_keys文件进行验证

-


您更新了问题,提到您想要从任何机器到任何其他机器进行SSH。这被认为是不好的安全实践。相反,您应该有一台包含私钥的管理计算机。但是,如果您必须这样做,请将~/.ssh/id\u rsa私钥复制到您的所有计算机。

这不仅是可能的,而且非常常见

只需获取使用ssh-keygen生成的密钥的id_rsa.pub部分,并将其安装到远程机器上的~/.ssh/authorized_密钥中

当您从工作站SSH到远程系统时,SSH将使用本地私钥id_rsa登录,这将根据远程系统的~/.SSH/authorized_keys文件进行验证

-


您更新了问题,提到您想要从任何机器到任何其他机器进行SSH。这被认为是不好的安全实践。相反,您应该有一台包含私钥的管理计算机。但是,如果必须这样做,请将~/.ssh/id\u rsa私钥复制到所有计算机。

我想您可以将相同的私钥id\u rsa复制到所有计算机,并将相同的相应公钥id\u rsa.pub添加到所有计算机的授权密钥中

然后,您可能希望在所有计算机上运行ssh代理,并使用ssh add注册私钥


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

我想您可以将相同的私钥id\u rsa复制到所有机器上,并将相同的对应公钥id\u rsa.pub添加到所有机器的授权密钥上

然后,您可能希望在所有计算机上运行ssh代理,并使用ssh add注册私钥


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

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

ssh-copy-id user@machine

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

ssh-copy-id user@machine
使用ssh代理。您可以使用ssh add向其添加私钥

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

如果已将公钥(例如,使用ssh copy id)复制到所有主机,则可以从任何主机登录到任何其他主机。

使用ssh代理。您可以使用ssh add向其添加私钥

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


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

谢谢,我已经按照您的建议做了一些事情,但事实证明我的问题其实很简单。我在.ssh目录下的配置文件中遇到了一个小的路径问题,所以这是一个很容易解决的问题。谢谢,我一直在按照你的建议做一些事情,但事实证明我的问题其实很简单。我在.ssh目录下的配置文件中有一个小的路径问题,所以这是一个简单的解决方案。