Putty
blog.png
- 是指將本地端口映射到指定地址
- 是指將遠程端口映射到指定地址
SSH
如果使用 linux/mac 下的 ssh 命令
$ ssh -R 9001:127.0.0.1:9000 host
R 代表 remote , 也就是將遠程端口9000映射到指定地址127.0.0.1:9000 (本機) , 訪問遠程服務器的9000端口會轉發到本地的9001端口
$ ssh -L 27018:127.0.0.1:27017 host
L 代表 location ,也就是將本地端口27018映射到指定地址127.0.0.1:9000 (遠程服務器的網絡環境) , 訪問本地的27018, 會轉發到遠端服務器的127.0.0.1:27017 , 下面是另外一種用法, 用來內網穿透,訪問遠程服務器的局域網內的服務
$ ssh -L 27018:192.168.1.5:27017 host
測試
判斷是否映射成功
$ netstat -a -n | grep sshd
如何選擇 L / R
- 當遠端有一個redis服務 , 監聽了6379端口, 想在本地服務器上也訪問遠端的redis服務, 則使用
ssh -L 6777:127.0.0.1:6379 user@ip
, 在本地執行redis-cli -p 6777 即可訪問遠端的redis server ,在本地執行netstat -a -n | grep sshd
可以看到, 本地sshd監聽了6777端口 - 當本地有一個redis服務 監聽了6379端口, 想在遠端服務器上也訪問本地的服務, 則使用
ssh -R 6666:127.0.0.1:6379 user@ip
, 在遠端服務器上執行redis-cli -p 6666
即可訪問本地的redis server,在遠端執行netstat -a -n | grep sshd
可以看到, 遠端的sshd監聽了6666端口