SSH端口转发详细使用

先介绍一下常用的参数;

-L是本地转发。

-R是远程转发。

-g是允许其他主机连接,在本地转发中允许本地计算机连接,在远程转发中允许任何主机连接,例如本地主机和云主机。

-o ExitOnForwardFailure=yes 用于指定在远程端口转发失败时,SSH 客户端是否应该立即退出,在调试阶段使用,使用此参数时如果配置有错误SSH会立即退出停止登陆,如果没有此参数无论配置是否正确都会连接。(远程转发使用)。

1,本地转发;

假设我们有三台服务器,分别是ABC,A是云服务器,B和C是本地服务器,现在我们来设置本地转发,假设服务器C不能直接连接云服务器A,但是B服务器可以连接,我们在B服务器上设置本地端口转发(转发到A)使C服务器连接,例如;

ssh -g -L1000:A服务器IP:22 root@A服务器IP(服务器B执行该命令)

‘1000‘是本地转发端口,’A服务器IP‘是你的局域网IP,’22‘是目标端口(云服务器端口,你最终想要访问的端口)。

执行以下命令从服务器C连接服务器B的转发端口,转发端口将转发到服务器A的22端口。

ssh root@B服务器IP -p 1000 (在服务器C执行该命令)

这个就跟正常登陆Linux服务器差不多,只不过加了个端口号。

2,远程转发;

在云服务器修改配置文件/etc/ssh/sshd_config(不需要在本地服务器修改),找到AllowTcpForwarding yes和GatewayPorts yes,去掉注释并改为'yes'

AllowTcpForwarding yes
GatewayPorts yes

使用方法;

假设有三台服务器ABC,A是云服务器,B是你朋友的本地服务器,C是你自己的本地服务器,你想连接你朋友的本地服务器B,那么你需要设置SSH远程端口转发(或者端口映射,这节主要讲SSH端口转发);

ssh -o ExitOnForwardFailure=yes -g R 1000:B服务器IP:22 root@link.com
(在云服务器上执行)

 ‘1000’是云服务器端口,’22‘是目标端口(B服务器端口),当你连接ssh root@A服务器IP -p 1000时会转发到你朋友的B服务器22端口上。

在你的服务器C执行以下命令你将会连接到你朋友的本地服务器。

ssh root@A服务器IP -p 1000(你将会连接到你朋友的本地服务器)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值