【问题标题】:Detect that a host is reachable via a jump host检测主机是否可以通过跳转主机访问
【发布时间】:2020-03-23 02:08:49
【问题描述】:

我已经通过跳转主机设置了一条隧道:

ssh -o ProxyCommand='ssh -W %h:%p bastion' -i my-emr.pem -ND 8888 hadoop@ip-my.ec2.internal

bastion 是我在 ~/.ssh/config 中定义的主机

这样我可以通过 SOCKS5 代理访问 ip-my.ec2.internal 等。我想测试这个主机是否可以通过 SOCKS5 代理访问。有我可以使用的命令吗?我可以使用如下命令测试堡垒主机是否可访问:

nc -G 2 -z my-bastion.com 22

无论如何我可以扩展上述命令来测试终端主机是否为 ip-my.ec2.internal?

【问题讨论】:

    标签: macos ssh ssh-tunnel socks


    【解决方案1】:

    看起来您在nc 命令中的所有测试都是端口 22 是否允许在 2 秒内建立连接。是否可以与 my-bastion 建立 SSH 连接是不一样的。它甚至不能证明你可以连接到我的堡垒。防火墙接受它们不会传递任何数据的连接的情况并不少见。

    如果您想要相同级别的弱测试,您可以按照以下方式做同样的事情:

    ssh bastion nc -G 2 -z ip-my.ec2.internal 8888
    

    有很多方法可以错误地返回它不是可访问的,就像您的其他 nc 命令有很多方法可能会失败一样。但它可能会为您提供一些管理 UI 的有用信息。

    知道网络连接是否可行的唯一方法是尝试您想要的实际网络连接。通常,您不应该在飞行前进行网络连接。只需尝试它们,并处理连接错误(即使您的飞行前通过也可能发生)。如果目标是避免长时间等待,请缩短超时时间(当网络速度较慢时,这会导致更多的误报)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-07
      • 2014-07-21
      • 1970-01-01
      • 1970-01-01
      • 2017-05-01
      相关资源
      最近更新 更多