先介绍一下常用的参数;
-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(你将会连接到你朋友的本地服务器)
1104

被折叠的 条评论
为什么被折叠?



