SSH tunnel
零、 名词解释
本机: Windows 11 (192.168.1.25)
服务器: CentOS 7 (192.168.1.201)
SSH客户端: 192.168.1.25 OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3
SSH服务端: 192.168.1.201 OpenSSH_7.4p1, OpenSSL 1.0.2k-fips
一、 远程转发&本地转发
两个SSH客户端之间建立一个安全的通道
本地计算机上的端口转发到远程计算机上,或者反向转发,将远程计算机上的端口转发到本地计算机上
1.1 本地转发实例:
应用场景:
- 绕过防火墙限制, 访问服务器任意资源.
Windows上执行:
ssh -L 8080:localhost:4000 user@remote_server
windows上的8080–>远程服务器的4000
1.2 远程转发实例:
192.168.1.201上执行:
ssh -R 8888:localhost:8006 [email protected]
访问192.168.1.201:8888 –> 192.168.1.200:8006
二、 动态转发(Dynamic Port Forwarding)
ssh -D $port -N user@host
SSH服务端和客户端建立加密连接
SSH客户端还会建立一个socks5代理, 所有从socks出去的流量,都通过这个加密连接转发。
应用场景:
- 匿名访问互联网
- 绕过防火墙限制
实例:
Windows上通过 ssh -D 5000 -N [email protected]
与服务端建立ssh加密隧道
通过本地socks5的5000端口,实现Windows访问服务器192.168.1.201的任意资源.