检测主机是否可以通过跳转主机访问
Detect that a host is reachable via a jump host
我已经通过跳转主机设置了隧道:
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 我的-bastion.com 22
无论如何我可以扩展上面的命令来测试终端主机是否是 ip-my。ec2.internal?
看起来你在 nc
命令中的所有测试都是端口 22 是否允许在 2 秒内连接。是否可以与 my-bastion 建立 SSH 连接不是一回事。它甚至不能证明您可以连接到我的堡垒。防火墙接受它们不会为其传递任何数据的连接的情况并不少见。
如果您想要相同级别的弱测试,您可以按照以下方式做同样的事情:
ssh bastion nc -G 2 -z ip-my.ec2.internal 8888
有很多方法可以使它错误地 return 认为它可以访问,而实际上它不能访问,正如有很多方法可以使您的其他 nc
命令失败一样。但它可能会为您提供一些有用的信息来管理 UI.
了解网络连接是否可行的唯一方法是尝试您想要的实际网络连接。通常,您不应预先建立网络连接。只需尝试它们,并处理连接错误(即使您的飞行前检查通过也可能发生)。如果目标是避免长时间等待,则缩短超时时间(当网络速度慢时会导致更多的假阴性)。
我已经通过跳转主机设置了隧道:
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 我的-bastion.com 22
无论如何我可以扩展上面的命令来测试终端主机是否是 ip-my。ec2.internal?
看起来你在 nc
命令中的所有测试都是端口 22 是否允许在 2 秒内连接。是否可以与 my-bastion 建立 SSH 连接不是一回事。它甚至不能证明您可以连接到我的堡垒。防火墙接受它们不会为其传递任何数据的连接的情况并不少见。
如果您想要相同级别的弱测试,您可以按照以下方式做同样的事情:
ssh bastion nc -G 2 -z ip-my.ec2.internal 8888
有很多方法可以使它错误地 return 认为它可以访问,而实际上它不能访问,正如有很多方法可以使您的其他 nc
命令失败一样。但它可能会为您提供一些有用的信息来管理 UI.
了解网络连接是否可行的唯一方法是尝试您想要的实际网络连接。通常,您不应预先建立网络连接。只需尝试它们,并处理连接错误(即使您的飞行前检查通过也可能发生)。如果目标是避免长时间等待,则缩短超时时间(当网络速度慢时会导致更多的假阴性)。