我的公司有一个公司防火墙后面的Linux服务器(CentOS 6虚拟机),我有虚拟机的完全根控制,但我无法控制防火墙。 有一个SSH服务器上运行,我可以ssh到公司networking内。
当我在公司networking之外时,我想要ssh给这个虚拟机。 我如何做到这一点?
这个linux虚拟机运行在Mac主机上,我可以使用logmein来连接,然后访问linux虚拟机。 我想直接ssh到linux虚拟机。
我猜测必须有一些由linux虚拟机启动到外部机器的握手才能工作?
我会问IT部门。 有一个原因,他们已经安装了这个防火墙,你试图做的可能是违反安全政策。 他们必须知道你需要从公司networking外访问这个服务器。 如果安全策略没有问题,他们将帮助您获得此访问权限。
您修复公司防火墙以允许SSH进入。您可能无法控制防火墙,但是如果有业务需要进行访问,那么任何明智的公司策略都应该允许,如果您为某个不明智的人工作政策,然后你到http://careers.serverfault.com/ 。
如果你有一个服务器,你可以从两个地方点击,你可以设置一个反向的SSH隧道
http://www.marksanborn.net/howto/bypass-firewall-and-nat-with-reverse-ssh-tunnel/
最正确的方法是让你的networkingpipe理员为你configuration一个vpn服务器,这样你就可以访问你所有的networking资源,而你不在公司networking之外。
您可以从behindvpn的outsidevpn创build一个ssh隧道到outsidevpn主机。
behindvpn$ ssh -R 1234:localhost:22 outsidevpn
这将打开outsidevpn主机上的端口1234 ,该端口将转发连接到behindvpn主机上的端口22 。
现在你可以连接到后面的主机:
$ ssh outsidevpn -p 1234
注意:您可能需要确保您的连接不会因为不活动或shell超时而中断。
注意:您可能还需要做一些防范措施,以免由于以下原因而降低Intranet的安全性:
ssh密码很难猜测 bind_address设置为不可路由地址(例如127.0.0.1 )或将此端口隐藏在防火墙后面