本地端口转发
命令
ssh -L [本地ip:]本地端口:目标IP:目标端口 ssh服务
原理
使用
本机通过本地10080端口访问192.168.242.130(远程)本机(localhost)下的3306的mysql
注:win10已经内置了ssh命令
- 本地机配置
SSH -L 10080:localhost:3306 root@192.168.242.130
- 测试
远程端口转发
命令
ssh -R [远程ip:]远程端口:目标主机:目标端口 ssh服务
原理
使用
本地通过(远程)192.168.242.131:10080访问虚拟机(目标)192.168.242.130:3306的mysql
- 192.168.242.131配置
vim /etc/ssh/sshd_config
- 192.168.242.130配置
SSH -R 10080:192.168.242.130:3306 root@192.168.242.131
- 测试
动态端口转发
命令
SSH -D 目标端口 ssh 服务
原理
使用
将客户机8000端口的数据都转发道远程主机192.168.242.130上去间接处理;
本测试在192.168.242.131 上装了nginx代理,并监听8000端口;
-
客户机配置
SSH -D 8000 root@192.168.242.130
-
请求测试
curl --socks5 127.0.0.1:8000 http://192.168.242.131:8000
-
此时192.168.242.131的nginx的访问日志有以下记录
从结果可看出此时在客户机上访问131的nginx是通过130服务器间接去访问的;