ssh端口转发,通过指定端口登录指定机器


机器A:个人PC

机器B:公网ip  1.2.3.4   内网ip 192.168.0.99

机器C:内网ip 192.168.0.201

A可登陆到B

需求:A通过B的321端口直接登陆C

在C上操作:

ssh -fCNR 321:localhost:22 root@1.2.3.4

注:

321是监听机器B上的端口,此时在B上查看:

22是要转发到本机的端口

1.2.3.4是中转机器的IP地址

# -f : 表示SSH连接在后台运行
# -C : 表示压缩数据传输
# -N : 用于端口转发,表示建立的SSH只用于端口转发,不能执行远程命令
# -R : 指定远程端口转发

在B上操作:

vim /etc/ssh/sshd_config

更改为:

GatewayPorts yes

重启服务:systemctl restart sshd

这是确保外网也能访问321这个监听端口

在A上操作:

ssh -p 321 root@1.2.3.4

提示输入密码(注意是用户在C上的密码),即可登录机器C

也可以使用其他账号登录