我目前在客户端工作,他们已经锁定了网络,除了端口80和443.我需要使用SSH连接到我们的服务器,但同一台服务器也运行我们的网站。我们不想投资新服务器或放置第二张网卡。
我一直在网上搜索设置我们的linux服务器(运行CentOS 5),以便有一个守护进程监听端口443,根据客户端协议将请求转发到正确的内部端口(SSH 22或HTTPS已移至其他端口_。
互联网上有很多人正在寻找这种解决方案,但没有明确说明如何做到这一点。
任何人都有想法/明确指示如何做到这一点?
问候,nidkil
答案 0 :(得分:6)
sslh:http://www.rutschle.net/tech/sslh.shtml
我正在使用1.5;我还没有尝试过1.6b,并且1.3在离开僵尸方面存在问题。
在端口443上运行它;如果没有数据以2秒(默认值)发送,则转发到ssh。否则,它会转发到您的Web服务器。
我在我的网站上运行它(http://mikeage.net) - 如果你想看到两个登录横幅,你可以netcat。
就我而言,它还有另一个目的。我们的设置比您更具限制性:所有端口都被阻止,但可以通过代理访问80和443。我可以让SSH使用像corkscrew(或putty本地)这样的程序来通过公司代理将我的SSH连接代理到我的服务器:443,在短暂的延迟之后,我的SSH服务器用它的登录横幅进行响应。我还可以通过标准HTTPS提供网页(事实上也是如此)。
答案 1 :(得分:3)
解决问题的一个简单方法可能是为您的盒子分配多个IP地址,并将SSH绑定到另一个IP上的端口443; you can usually assign multiple IP addresses to a single adapter,无需添加第二张网卡。否则我不知道你想要做什么的任何开箱即用的解决方案。您可能必须为此创建一个自定义守护程序,这将是一个有点棘手但可行的。
答案 2 :(得分:3)
出于某种原因,防火墙限制到位。它们可能不是好的,但它们对实施它或使其实现的人有意义。我不会试图违反公司关于外部联系的政策。
如果您的需要是合法的,我会要求将端口或备用端口打开到您需要的地址。如果这不起作用,那么VPN解决方案也许是可以接受的。
如果网络人员只是疯狂地保护,不愿意回应理由,或者说是无能为力,我想确保我已经从一位愿意为我蝙蝠的经理那里签字了。在我实施解决方案之前成为一个问题。任何其他事情都可能合理地结束你的工作被终止。毕竟,您所说的是违反公司安全政策。
答案 3 :(得分:1)
您可以构建一个侦听端口443的小型Web应用程序,该应用程序使用公钥身份验证为反向SSH shell启用传入连接的IP。 说:
答案 4 :(得分:0)
如果你的centos框上有apache,你可以使用mod_proxy将请求从一个端口重定向到另一个端口。我使用此方法将请求重定向到http://webmin.myserver.com到http://myserver.com:10000(在无法访问的端口上运行的webmin)
ServerName webmin.myserver.co.uk
SSLProxyEngine On
ProxyRequests Off
ProxyPass / https://myserver.co.uk:10000/
ProxyPassReverse / https://myserver.co.uk:10000/
将上述内容放在您的虚拟服务器指令中,您就可以了。这可能不适用于Putty,但如果您安装webmin,它有一个SSH模块,您可以通过浏览器访问。