周海汉 /文
2010.1.11
SSH端口转发可以提供一条加密隧道,该隧道可以用于穿透防火墙,防止窃听。但隧道两侧仍是明文。
- LocalForward
应用场景:
你需要访问邮箱pop.163.com 端口110,但你本地localhost不能直接连接到邮箱,而远程一台服务器MySer可以访问到。
zhouhh@zhouhh-home:~$ssh -p 60066 -L 9999:pop.163.com:110 root@MySer
root@Myser’s password:
Last login: Sun Jan 10 23:42:21 2010 from 125.39.109.34
其中-p 参数是Myser ssh连接的端口 9999是本地端口。-L 是LocalForward
本地连接:
zhouhh@zhouhh-home:~$nc localhost 9999
+OK Welcome to coremail Mail Pop3 Server (163coms[d0a67bcd290bb19fb165d92968971e20s])
USER ablo_zhou
+OK core mail
PASS xxxxx
LIST
+OK 61 38689853
1 6402
2 2478
3 5780
QUIT
+OK core mail
- RemoteForward
应用场景:你周末需要加班,但你不想去公司干活,想在家里干。而很多资源如subversion都只有公司内网才能访问到。防火墙不允许你从家里直接连公司。VPN又在周末出了问题,需维护。
可以在下班前,先配置工作机器,远程连接到你家里的电脑,采用远程转发RemoteForward.
工作机器配置:
vi ~/.ssh/config
Host myhome
Hostname 123.45.67.8
RemoteForward 2222:localhost:22
User ablozhou
远程连接到家里:
zhouhh@zhhofs$ssh myhome<span class="body"><pre><span class="body"><pre>zhouhh@123.45.67.8's password:
远程连接到家里后,为防止防火墙对不活动连接关闭,做一个定期的ping
zhouhh@zhouhh-home$ ping -i 5 127.0.0.1<br /> PING 127.0.0.1 (127.0.0.1): 56 data bytes<br /><span class="body"><pre> 64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.1 ms<br />
这样就会有回显,连接才不会断。<br />回家后,可以连接<br /><br />zhouhh@zhouhh-home$ ssh -p 2222 zhouhh@localhost<strong> </strong><br /> zhouhh@localhost's password: <strong><em></em></strong><br />zhouhh@zhhofs$<br /><span class="body"><pre>成功<br />参考:<br />
http://www.securityfocus.com/infocus/1816
如非注明转载, 均为原创. 本站遵循知识共享CC协议,转载请注明来源