在我的工作场所,交通拦截器/防火墙已经越来越差了。 我无法连接到端口22上的本地计算机,缺lessssh访问使我感到难过。 我以前能够通过将SSH移动到端口5050来使用SSH,但是我认为最近的一些filter现在将这个stream量视为即时消息,并且可能通过另一个代理来redirect。 这是我最好的猜测。 在任何情况下,我的SSH连接现在终止login之前。
现在我已经使用HTTPS使用Ajaxterm了,因为443端口仍然是不受干扰的,但是这远非理想。 (Suckyterminal仿真,缺乏端口转发,我的浏览器以惊人的速度泄漏内存…)我尝试在mod_ssl上设置mod_proxy_connect ,我可以通过HTTPS发送一个CONNECT localhost:22 HTTP/1.1请求,然后我会全部设置。 可悲的是,这似乎不起作用; HTTPS连接起作用,直到我完成发送请求; 然后SSL胡扯了。 看起来好像mod_proxy_connect接pipe了整个连接,而不是继续通过mod_sslpipe道,混淆了HTTPS客户端。
有没有办法让这个工作? 我不想通过普通的HTTP执行此操作,原因如下:
留下一个像这样的大胖子开放代理只是臭
一个胖胖的开放代理也不是HTTPS的好,但是需要身份validation,我感觉很好
HTTP通过一个代理服务器 – 我并不太在意stream量被嗅探,因为它的ssh将通过隧道“明文” – 但它比HTTPS更可能被破坏,而HTTPS从根本上不能被代理
要求:
如何在Windows上使用最新的Android模拟器configurationfiddler2或Charles Web Proxy之类的HTTP代理?
如何让Docker在公司防火墙后的Windows系统上运行?
在express.js中,“信任代理”实际上做了什么?我需要使用它吗?
必须在端口443工作,而不会干扰其他HTTPsstream量(即我不能只把SSH服务器端口443,因为我不能再通过HTTPS服务页面)
我有或可以写一个简单的端口转发器客户端,运行在Windows(或Cygwin)
编辑
DAG:已经向我指出了隧道SSH over HTTP(S) ,但是并没有帮助:在文章的最后,他们提到了Bug 29744 – CONNECT不能在现有的SSL连接上工作,防止通过HTTPS隧道,我遇到的问题。 在这一点上,我可能正在看一些CGI脚本,但是如果有更好的解决scheme,我不想列举这个脚本。
在Apache下的子域代理到Tomcat
Jenkins:如何configurationJenkins背后的Nginx反向代理,用于连接JNLP从服务器
在Nginx后面运行jasperserver:潜在的CSRF攻击
是否有可能改变在Nginx中proxy_pass网关closures时返回的HTTP状态码?
带有多个位置的Nginx proxypass
找出公司为什么有这样的限制性政策。 这可能是一个很好的理由。
如果您仍然发现要绕过策略,可以编写一个小型代理,在端口443上监听您的服务器,然后根据请求将流量转发到您的Web服务器或SSH守护进程。 有两个虽然。
要确定它是HTTPS请求还是SSH请求,您需要尝试读取一些(小)超时的数据,这是因为TLS / SSL握手从客户端发送一些数据开始,而SSH握手则从服务器开始发送一些数据。 超时必须足够大,以致于在TLS / SSL握手中延迟从客户端传递初始数据,所以它会使得建立SSH连接变得更慢。
如果你公司的HTTP代理很聪明,那么当你CONNECT到端口443时,它实际上会窃听预期的TLS / SSL“握手”,当它检测到它不是TLS / SSL握手时,它可能会终止SSH连接尝试。 为了解决这个问题,你可以把SSH守护进程打包到一个TLS / SSL隧道(例如stunnel )中,但是你需要根据客户端请求中的TLS / SSL版本区分请求,以确定是否将TLS / SSL连接到Web服务器或TLS / SSL隧道SSH守护进程。
你应该可以使用iptables将ssh流量从工作机器转发到ssh,而连接到你的家庭服务器的所有其他机器都在443端口获得Apache服务器。
试试像这样的规则:
iptables -t nat -A PREROUTING -p tcp -s 111.111.111.111 --dport 433 -j REDIRECT --to-port 22
111.111.111.111是你的办公室电脑的IP地址。
这一切都假定你正在运行Linux> = 2.4,你应该现在。 已经有近十年了。
iptables的文档在http://www.netfilter.org 。
在家中设置OpenVPN 2.1服务器,使用端口443(如果您在端口443设置您的家庭任何HTTPS服务,触发OpenVPN的端口共享选项,以端口443处理OpenVPN和HTTPS事务;此功能仅适用于非 – Windows操作系统)
然后,在您的笔记本电脑上以road-warrior模式设置您的OpenVPN客户端,以访问家中的OpenVPN服务器。 您将可以在您使用OpenVPN创建的安全VPN网络中拨打家中或任何地点的电话。 为此,不再需要使用SSH。
如何在你的机器上使用2个IP地址?
在一个IP_1上绑定apache / https:443,在另一个IP_2上绑定sshd:443?
你能建立一个中间人吗?
在443上运行一个小型/免费/廉价的实例来监听SSH,然后通过这个云实例隧道到你最喜欢的端口上的家庭盒子里 – 或者其他任何东西。
它肯定会增加一些延迟,但它解决了保持原始主页设置不变的问题。
我认为你必须找到一个你目前不用的端口,然后听听。 443是明显的候选人,但你说这是不可能的。 那么邮件(25,110,143),telnet(23),ftp(21),DNS(53)甚至whois(43)呢?
我真的很抱歉在这里成为魔鬼的拥护者,但是如果他们在工作上阻挠了港口,可能是因为他们不希望人们违背安全。
现在,如果你有权向你的老板开通隧道,那很好,但是如果发生什么事,他们会发现你有一个隧道,我几乎可以向你保证,你将成为替罪羊。 所以如果我是你的话,如果他们设置了防火墙,我不会在工作中打开隧道。
代理隧道可能是你的答案
http://proxytunnel.sourceforge.net/
可以说我的SSH服务器是host.domain.tld,我的作品代理服务器是10.2.4.37
我会添加到我的本地SSH配置
Host host.domain.tld ProxyCommand / usr / local / bin / proxytunnel -q -p 10.2.4.37:3128 -d%h:%p ProtocolKeepAlives 30
看到:
SSH通过或通过代理
http://daniel.haxx.se/docs/sshproxy.html
http://www.agroman.net/corkscrew/
由于在不涉及SSL的情况下,apache与CONNECT没有任何问题,所以我关闭SSL功能,并使用stunnel为我的站点的https版本提供服务。 这不需要任何重新编译,并允许您的网站正常服务https。 到目前为止,我知道最干净的解决方法。
有关详细信息,请参阅http://chm.duquesne.free.fr/blog/?p=281 。
必须在端口443工作,而不会干扰其他HTTPS流量(即我不能只把SSH服务器端口443,因为我不能再通过HTTPS服务页面)
是否有可能将您的HTTPS服务器绑定到不同的端口? 根据用途的不同,您甚至可以通过SSH回家,然后从那里使用lynx来解决无法直接访问的问题。
那么,给代理尝试一下( – 它支持HTTP代理服务器)!
http://www.proxifier.com/documentation/intro.htm
我设法绕过我的公司的防火墙使用以下设计通过AjaxTerm,它适用于我。
在公司网络上的电脑 – >公司的代理通过https – >互联网 – >我的家庭Apache反向代理服务器在SSL + .htpasswd保护 – > AjaxTerm服务器(从这里病房,我可以SSH到任何其他服务器)。
仍然不是完美的世界…如果我可以通过HTTPS隧道到我的家庭网络将是很好的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。