如何通过防火墙本机端口转发来实现SSH跳板登录。继 ssh 笔记(端口转发),根据新的需求衍生出新技巧
继 ssh 笔记(端口转发),根据新的需求衍生出新技巧
需求
- 继跳板机中转登录后,觉得需要中转登录还是太麻烦,所以希望能够跟普通ssh一样登录
工具
- 防火墙配置(iptables/ufw/firewall)
- ssh
先验知识
- ssh 笔记(端口转发)
- 防火墙配置
- iptables(Centos7之前自带)
- firewall(Centos7之后自带)
- ufw(Ubuntu自带)
- netsh(Windows自带)
实验
- 假设内网机器A,内网机器C,公网机器B。A通过将22端口转发至B的3000端口来进行跳板登录。所以C需要执行如下命令来登录A
1 2 3 4
| ssh userB@ip_B
ssh userA@127.0.0.1 -p 3000
|
- 通过防火墙本机端口转发,将本机的3000端口转发至3000端口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
sysctl -p
iptables -t nat -A PREROUTING -p tcp -i eth0 -d 127.0.0.1 --dport 3000 -j DNAT --to 127.0.0.1:3000
firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --permanent --add-forward-port=port=3000:proto=tcp:toport=3000 --permanent
firewall-cmd --reload
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=2121 connectaddress=ip_B connectport=222
|
- 以上,即可通过如下命令直接登录A