机场内的 SSH 隧道

机场内的 SSH 隧道

在家里,我知道如何建立工作网关之间的 ssh 隧道。对于网关来说,最重要的是能够与我家里的机器建立 ssh 连接。我通过设置 wifi 路由器的 NAT 选项来做到这一点。

但有时我在机场。这里的 wifi 连接不允许建立这种连接。

您知道还有其他方法吗?

谢谢

答案1

我推荐'索特' 项目通过 HTTP 创建隧道。
您必须知道代理主机名和端口。
在家里,您需要一个正在运行的 tomcat 服务器,其中部署了“soht”,可能与 apache 反向代理结合使用。

答案2

在机场,您通常需要支付网络连接费用。打开浏览器后,您将进入一个可以购买网络连接的页面,或者如果您有订阅,请输入用户名/密码。除非您先这样做,否则任何网络通信都将被禁用。

如果这没有帮助,请尝试将 SSH 端口号更改为通常允许的内容,例如 SMTP 或 POP3 端口。端口 81 通常也是一个不错的选择。

答案3

您是否尝试创建从您的 PC 到工作地点的出站隧道,或从工作地点到您的 PC 的入站隧道?

如果是前者,那么你可能遇到的情况是提供商的防火墙阻止了特定端口上除 HTTP/HTTPS 之外的所有内容。这种情况很不寻常:我不记得上次任意出站流量被阻止是什么时候了,而且通常使用 SSH 访问我的家用机器都没有问题。如果你被阻止了,那么某种 HTTP 隧道(如其他发帖者所建议的)将是唯一的选择——尽管我无法想象这意味着多少开销。

如果问题是您无法打开从办公室到机场笔记本电脑的连接(我假设这是您想要的,因为您谈到了 NAT 设置),那么您将无法直接连接。您几乎肯定在机场防火墙后面有一个私有 IP,因此无法将数据包路由给您。

另一种方法是建立两个隧道,中间有一个受信任的主机(您的家用计算机)。您需要在防火墙中打开两个端口:您的常规 SSH 端口(22,但请参见下文)和另一个端口 - 比如 2201。从工作地点打开一个到家用计算机的反向隧道,使用诸如2201:localhost:22-- 所有到家用计算机端口 2201 的连接都将通过隧道传输到工作计算机的端口 22。然后从您的笔记本电脑打开一个到家用计算机的正向隧道,使用诸如22:localhost:2201-- 所有到笔记本电脑端口 22 的连接都将转发到家用计算机的 2201 的参数。

当然,这不是最佳设置。您不仅需要在中间切换,而且如果您使用 ADSL(就像我一样),上传速度会很慢。总而言之,传统 VPN 可能是更好的选择(再次假设:您使用 SSH 是因为传统 VPN 太慢)。


附注:打开家用防火墙的 22 端口并不是个好主意:迟早你会受到攻击。即使不会导致被黑客入侵,攻击者也会占用大量带宽和磁盘空间(我第一次也是唯一一次遇到这种情况,身份验证日志在一小时内增长到数兆字节 - 然后我打了自己一巴掌,觉得自己太蠢了,关闭了端口 - 尽管我的密码不受字典攻击,但把门打开仍然是个坏主意)。

编辑:为了让 sshd 监听其他端口,编辑文件/etc/ssh/sshd_config(Windows 用户,请自行处理),并添加其他Port指令(查找现有的“端口 22”条目):

# What ports, IPs and protocols we listen for
Port 22
Port 2201

答案4

如果我误解了你的问题,那么机场防火墙会阻止你在端口 22 上的传出连接。为了绕过这个问题,请通过 DNS 隧道传输你的 ssh 连接:http://www.boingboing.net/2004/06/21/tunneling-ssh-over-d.html

请注意,这样做您几乎肯定能够绕过他们的“付费网络”系统 - 只需建立此连接,然后通过它隧道传输您的 HTTP 连接。

如果您的目标是绕过他们的付费方案,那么如果您坐在其他人付费的区域,然后跑去airodump-ng或以其他方式找到使用其中一个付费网络发送/接收大量数据包的人的 mac 地址,您将获得更好的连接。只需伪造他的 mac 地址,您就可以访问互联网。


<morals>

上述两种技术都严重处于道德灰色地带。搭载他人的连接甚至可能是非法的,我不确定,但无论如何,您都会减慢他的服务速度,实际上是窃取他的带宽。虽然通过 ssh-over-dns 获取免费互联网不会对其他人的付费服务产生负面影响,但您仍在使用公司必须支付的资源并免费获得付费服务,因此我建议先为他们的服务付费,即使这不是必要的,然后再创建隧道。还请考虑机场可能出于正当理由阻止出站 22(尽管只有上帝知道那可能是什么)。

在尝试免费获取付费服务或尝试扩展提供商所提供的服务范围之前,您应该考虑这些都是什么。

</morals>

相关内容