SSH 远程转发:需要对转发服务器和目标服务器进行身份验证

SSH 远程转发:需要对转发服务器和目标服务器进行身份验证

我想通过我自己的服务器使用 SSH 远程转发连接到公司计算机(“目标”服务器),通过在目标上运行如下命令:

ssh -R '*:10000:localhost:22' forwarding-server

问题是目标并不总是保持最新状态,而我对此没有控制权。我不想让它的 SSH 服务器可直接从互联网访问。

理想情况下,我希望要求身份验证到转发服务器,使用 SSH 密钥,然后才允许转发到目标服务器。当我在测试机器上设置此功能时,连接立即被转发到目标服务器。

有没有办法要求身份验证连接被转发了吗?

答案1

有没有办法在转发连接之前要求进行身份验证?

SSH 的工作方式实际上就是这样的——除非转发服务器的管理员故意已禁用由于某种原因,身份验证。

运行添加选项的命令-v -v。您将看到以下可能性之一:

  1. 您正在使用 SSH 公钥自动进行身份验证;
  2. 您正在使用 GSSAPI (Kerberos) 自动进行身份验证;
  3. 您正在使用多路复用连接(ControlMaster / ControlPath),即仅向已经过身份验证的会话添加新隧道;
  4. 所有身份验证机制都被跳过,因为远程帐户的密码为空白,并且服务器已配置为允许这样做。

相关内容