重复使用 rsa_id 密钥的安全问题

重复使用 rsa_id 密钥的安全问题

我已经为正在进行的不同项目设置了很多虚拟机。我没有在每台机器上使用 ssh-keygen,而是将我的 id_rsa 文件从其中一台机器复制到我设置的所有其他机器上。

这样,我就不需要将每台新机器的 rsa_id.pub 上传到我的服务器或将它们添加到我想要 ssh 进入的其他服务器。

这种做法是不是很糟糕?我是否应该为每个虚拟机生成一个新密钥?

答案1

SSH 有一个称为“代理转发”的功能。如果启用了该功能,并且您在计算机 A 上运行了 ssh-agent,并将密钥加载到其中,那么您可以通过 SSH 连接到计算机 B,从 B 到 C,从 C 到...,而无需将私钥复制到计算机 A 以外的任何地方。

如果您拥有自己的工作站(A)并可以通过它连接到所有[虚拟]机器,那么这种方法会非常有效。


machineA$ ssh-add
Enter passphrase for /home/grawity/.ssh/id_rsa:
Identity added: /home/grawity/.ssh/id_rsa

machineA$ ssh -A machineB

machineB$ ssh -A machineC

machineC$ ssh-add -l
4096 50:08:e7:0c:0e:7b:2b:47:88:9e:d5:11:7b:f6:ce:f5 /home/grawity/.ssh/id_rsa (RSA)

ForwardAgent=yes您可以通过在 中添加适当的Host行(Host *对于所有连接)来永久激活它~/.ssh/config

答案2

id_rsa 是您的私钥。

除了将 id_rsa.pub 添加到所有 '~/.ssh/known_hosts' 之外,您还执行了此操作吗?如果没有,那么这没有什么意义,因为您仍然无法在没有密码的情况下在它们之间进行 ssh 连接。

就我个人而言,我会根据需要为每个用户和主机生成单独的密钥,以便保持细粒度的访问,并使用代理转发进行您自己的管理。

相关内容