假设我有一个工作在防火墙后面的Linux工作站。因此,即使我可能在上面设置了一个远程访问服务器(例如最出色的NoMachine NX服务器),也无法在家中访问它。
我的家庭网络恰好有一台Linux服务器。是否可以从工作场所切换到家用Linux机器并设置隧道,以便在我在家时可以运行NX客户端,将其指向我的家用Linux机器上的某个端口(如9000),并进行转发通过隧道到我的工作Linux机器上的端口22?我该如何设置?
假设我有一个工作在防火墙后面的Linux工作站。因此,即使我可能在上面设置了一个远程访问服务器(例如最出色的NoMachine NX服务器),也无法在家中访问它。
我的家庭网络恰好有一台Linux服务器。是否可以从工作场所切换到家用Linux机器并设置隧道,以便在我在家时可以运行NX客户端,将其指向我的家用Linux机器上的某个端口(如9000),并进行转发通过隧道到我的工作Linux机器上的端口22?我该如何设置?
Answers:
在工作中的计算机上,为到在家中运行ssh的计算机创建隧道:
randolf@workserver:~$ ssh -vvv randolf@myhomeserver -R 44455:localhost:22
这会将远程端口44455从家庭服务器转发到工作机上的端口22(或ssh正在侦听的端口)。
在家里检查44455是否正在监听
randolf@homeserver:~$ netstat -an | grep 44455
tcp 0 0 127.0.0.1:44455 0.0.0.0:* LISTEN
接下来,要通过家庭服务器从家庭连接到工作机:
randolf@homeserver:~$ ssh localhost -p 44455
Password: ******
从那里,您应该通过隧道连接到工作机。
您可以使用防火墙设置一些端口转发,或者如果允许使用防火墙做一些限制,甚至可以使用“反弹”之类的工具来重定向端口,但这是我要做的如果我是你:
安装出色的免费,开放源代码的userland OpenVPN软件。将目标服务器设置为OpenVPN客户端(并配置无限连接重试),并将您的家用Linux服务器设置为OpenVPN服务器。这样,运行OpenVPN客户端的目标服务器将在运行时连接到您的家庭Linux服务器,并连接到Internet-通过此VPN连接,您可以完全访问您的工作/目标服务器(运行OpenVPN客户端) 。
OpenVPN(功能齐全的免费,开源,用户级VPN解决方案)
http://www.openvpn.net/index.php/open-source.html
如何在端口3389(RHEL5)上连接到Linux盒
不幸的是,端口22被许多防火墙阻止,并且隧道可能会打开安全漏洞,因此最好的方法是将ssh和NX设置为侦听端口3389,而不是标准22,这可能会使大多数黑客感到困惑
配置OpenBSD侦听端口3389
vim /etc/ssh/sshd_config
Port 3389
service sshd restart
将NX Client for Windows下载到RHEL ftp站点
wget http://64.34.173.142/download/3.5.0/Windows/nxclient-3.5.0-9.exe
下载适用于Linux的NX Free Edition
wget http://64.34.173.142/download/3.5.0/Linux/nxclient-3.5.0-7.i386.rpm
wget http://64.34.173.142/download/3.5.0/Linux/nxnode-3.5.0-9.i386.rpm
wget http://64.34.173.142/download/3.5.0/Linux/FE/nxserver-3.5.0-11.i386.rpm
以root用户身份-按此顺序安装NX
rpm –ivh nxclient-3.5.0-7.i386.rpm
rpm –ivh nxnode-3.5.0-9.i386.rpm
rpm –ivh nxserver-3.5.0-11.i386.rpm
为端口3389配置NX
vim /usr/NX/etc /node.cfg
#
# Specify the TCP port where the NX node SSHD daemon is running.
#
SSHDPort = "3389"
vim /usr/NX/etc /server.cfg
#
# Specify the TCP port where the NX server SSHD daemon is running.
#
SSHDPort = "3389"
service nxsensor restart
nxserver --daemon restart