正确的 .ssh/config 设置跳 ssh

correct .ssh/config setup to hop ssh

我有一个 2-deep ssh 网络。我有服务器 myserv.co.uk 和服务器 B。我通过 .ssh/config 文件给 myserv.co.uk 一个别名,叫做 A。服务器 A 受密码保护,一旦进入服务器 A,我就可以 ssh B 而无需使用密码。

我在本地机器上使用 ssh-keygen 并复制到服务器 A 上,这样我就可以成功地执行 ssh A 而不必使用密码。

一切顺利。但是我需要 ssh/scp 直接进入服务器 B。有很多关于如何做到这一点的东西,我已经尝试实现。我有以下 .ssh/config

Host A
        User first.last

        Hostname myserv.co.uk

Host B
        User first.last
        ProxyCommand ssh -W B:22 A

所以当我这样做时 ssh B 我被要求输入密码。这不应该发生在服务器 A 中,默认情况下我可以在没有密码的情况下通过 ssh 连接到服务器 B。这是输出:

$ ssh B

Welcome to myserv

This system is for authorised users, if you do not have authorised access
please disconnect immediately.

Password: 

我输入了服务器 A 的密码,这成功了。我认为是这种情况,因为它是用户 first.last.

的密码

然而,假设在服务器 A 中,我可以在没有密码的情况下通过 ssh 进入服务器 B,并且我可以使用 keygen 从本地 ssh 到服务器 A,为什么我在执行 ssh B?

您是否将自己的 public 密钥复制到两台服务器上的授权密钥?

你可以使用 ssh-copy-id