假设您在主机 1 上创建了一个 SSH 密钥,并将公共部分发送到主机 2,这样您就可以从主机 1 登录到主机 2,而无需密码。如果您随后想从主机 1 登录到新主机(例如主机 3),您会怎么做?
您是否在主机一上创建新密钥并将其发送到主机 3?或者这会打乱主机 1 和主机 2 之间的关系?或者您是否将相同的公钥发送到主机 3?
我找不到一个教程来简单地解释正在发生的事情以便我的大脑能够理解。
谢谢
答案1
如果您想从主机 1 登录到新主机(例如主机 3),您该怎么做?
如果你想:
host 1
从到建立新的 SSH 会话,您应该将*host 3
上的用户的公钥添加到上的文件中。从技术上讲,它是与 相同的密钥对还是不同的密钥对并不重要。host 1
authorized_keys
host 3
host 2
在从
host 1
到host 2
以及从 到 的会话内进行连接host 3
,您需要将 上的用户的公钥host 1
(与您用于连接到 的公钥相同host 2
)添加到authorized_keys
上的文件中host 3
,并在 上的 SSH 守护进程中启用 SSH 代理转发,并添加在从到host 2
建立会话时使用 SSH 代理转发的选项。host 1
host 2
*严格来说,“的公钥”是指连接到目标时将使用的host 1
密钥对的公钥。它可以是默认位置中的公钥,也可以是建立会话时明确指定的公钥,或者在配置文件中指定的公钥。host 1
~/.ssh/id_rsa
-i
答案2
如果您想从主机 1 登录到新主机(例如主机 3),您该怎么做?
您是否在主机一上创建新密钥并将其发送到主机 3?
不,我不知道
或者这会扰乱主机 1 和主机 2 之间的关系吗?
是的,它会
或者将相同的公钥发送给主机 3?
是的,我愿意
编辑:私钥用于识别单个主机以确保其身份。
不过,当然:
最佳做法是什么:每个主机和用户使用单独的 ssh 密钥 VS 所有主机使用一个 ssh 密钥?
顺便说一句,常见的做法是one host = one key
,以便您可以根据需要一次性撤销所有内容......当然这里没有太多的粒度,但取决于您的安全问题。