远程机器上未找到 SSH 密钥

远程机器上未找到 SSH 密钥

我有以下设置:我有笔记本电脑 A、计算机 B 和远程计算机 C。C 只能通过 ssh 从 B 访问,B 可以从 A 通过 ssh 访问或直接使用。 A 总是直接使用。

我设法以这样的方式设置 ssh 密钥,从 A 连接到 B 或从 B 连接到 C 时不需要输入密码。

但是当我从 A 连接到 B,然后尝试 ssh 到 C 时,我仍然需要输入密码 - 如何使用 B 上明显可用的密钥,因为如果我登录到,我就可以使用它直接B?

答案1

当从 A 通过 B SSH 到 C 时,使用显示ssh -vv REMOTE未找到 B 上的密钥。输出结束于

debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /u/USER/.ssh/id_dsa
debug1: Trying private key: /u/USER/.ssh/id_ecdsa
debug1: Trying private key: /u/USER/.ssh/id_ed25519
debug2: we did not send a packet, disable method
debug1: Next authentication method: password

此外,我注意到我没有命名私钥id_dsaid_rsa但是id_rsa_cluster。我使用修复了这个

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa_cluster

现在,密钥已找到,我无需输入密码即可登录。

我目前无法物理访问B,因此无法检查为什么直接登录B时会找到密钥。但一旦可以,我会添加这个。

答案2

AllowAgentForwarding需要在 B 上启用sshd_config 选项。SSH 客户端可能还需要启用代理转发。

相关内容