多系统 SSH 授权密钥

多系统 SSH 授权密钥

我在某处读到,要通过 SSH 访问远程计算机,我们需要将~/.ssh/id_rsa.pub本地计算机复制到~/.ssh/authorized_keys远程计算机。我这样做了,我可以通过 ssh 访问远程计算机。

我希望远程机器可以从多个服务器访问,例如:机器 A 可以访问机器 B,并且另一台机器 C 也可以访问机器 B。

我将~/.ssh/id_rsa.pub机器 A 复制到~/.ssh/authorized_keys机器 B,并且可以访问机器 B。

但我还想从机器 C 访问机器 B,那么我该怎么办?我的意思是,我应该将~/.ssh/id_rsa.pub机器 C 复制到机器 B 的哪里,以便我可以从机器 C 访问机器 B?

答案1

远程主机上的文件authorized_keys可以包含多个公钥。只需将它们附加到文件中即可 — 确保每个密钥都占一行。

为了简化这个过程,ssh-copy-id(1)

ssh-copy-id user@machine-B

您可以在机器 C 上执行上述命令。它会将默认公钥复制到机器 B 并自动将其附加到。如果您愿意,authorized_keys您还可以使用该选项指定要复制的另一个公钥。-i


这是参考在手册中

用户通过运行 来创建自己的密钥对。这会将私钥存储在用户主目录中的ssh-keygen(1)[…] (协议 2 RSA)。然后,用户应将公钥复制到远程计算机上自己的主目录中。~/.ssh/id_rsa.pub~/.ssh/authorized_keys

文件authorized_keys[…] 每行都有一个密钥,尽管行数可能很长。此后,用户无需输入密码即可登录。

答案2

或者,您可以运行此命令:

cat id_rsa.pub | ssh remote-user@remote-host "cat >>~/.ssh/authorized_keys"

为了附加到 authorized_keys 文件

相关内容