Home | 简体中文 | 繁体中文 | 杂文 | 知乎专栏 | Github | OSChina 博客 | 云社区 | 云栖社区 | Facebook | Linkedin | 视频教程 | 打赏(Donations) | About
知乎专栏多维度架构

42.4. OpenSSH Tunnel

mysql tunnel

		
$ ssh -L 3306:127.0.0.1:3306 user@example.org
		
		

testing

		
$ mysql -h 127.0.0.1 -uroot -p test
		
		

42.4.1. SOCKS v5 Tunnel

			
ssh -D 1080 <远程主机地址>
or
ssh -D 7070 <远程主机地址>
			
			

I prefer 1080 to 7070. the reason is 1080 default for SOCKS port.

			
ssh neo@www.example.com -D 1080
			
			
			
			
ssh -D 1080 -f -C -q -N neo@example.com			
			
			



Explanation of arguments

-D: Tells SSH that we want a SOCKS tunnel on the specified port number (you can choose a number between 1025-65536)
-f: Forks the process to the background
-C: Compresses the data before sending it
-q: Uses quiet mode
-N: Tells SSH that no command will be sent once the tunnel is up

脚本

			
ssh -D 1080 -f -C -q -N neo@vpn.netkiller.cn
pkill ping
ping -i 30 8.8.8.8 > /dev/null &			
			
			

ping 是保持隧道活跃,每个 30秒 ping 访问一次外部主机以保持 ssh 不会退出。