SSH隧道实现内网穿透-XShell设置实现
使用背景做实验需要用的Linux服务器(A),只分配了内网IP,在实验室有一台连接内网的Windows电脑(B),一般使用B上的XShell软件SSH连接服务器进行操作。如果不在实验室的网络下,比如在宿舍使用电脑(C),希望可以通过XShell转发控制服务器A。解决办法使用一台有公网IP的服务器(称为跳板机)作为通道连接宿舍电脑C和实验室电脑B。在跳板机上开辟一个端口(比如12345),宿...
使用背景
做实验需要用的Linux服务器(A),只分配了内网IP,在实验室有一台连接内网的Windows电脑(B),一般使用B上的XShell软件SSH连接服务器进行操作。如果不在实验室的网络下,比如在宿舍使用电脑(C),希望可以通过XShell转发控制服务器A。
解决办法
使用一台有公网IP的服务器(称为跳板机)作为通道连接宿舍电脑C和实验室电脑B。
在跳板机上开辟一个端口(比如12345),宿舍电脑A SSH连接跳板机12345端口,实验室电脑B使用XShell SSH连接跳板机22端口,在B上的XShell设置隧道,监听跳板机上12345端口数据,并转发给实验室的服务器A。配置示意图如下:
步骤
1 配置公网ip服务器
这里我使用的是阿里云的学生服务器,9.5一个月,便宜好用。
登录阿里云服务器,设置允许端口转发
vim /etc/ssh/sshd_config
找到文件中被注释掉的GatewayPorts no
,去注释,并将no改成yes
如果没找到就在末尾添加上GatewayPorts yes
防火墙中设置端口
2 配置实验室电脑
打开XShell,添加连接,设置
登录账号密码使用阿里云服务器的
设置隧道
连接
注意,在实验室电脑上,这个连接必须保持在线,否则无法实现转发。
宿舍电脑配置
随便一个SSH软件
IP:跳板机IP
端口:跳板机开放端口(上文中的12345)
用户名:实验室服务器用户名
密码:实验室服务器密码
连接一下试试,嗯,真香
上面就解决了如何在外网通过ssh隧道服务连接内网服务器。
扩展
SFTP文件服务
SSH隧道配置连接成功以后,所有ssh相关的服务都可以在外网使用,比如SFTP文件传输。在宿舍电脑上下载任意支持SFTP协议的软件,可以直接连接管理文件(IP、用户名、密码同上),这里我用的是winscp
最香的应用
在iPad上下载Termius可以使用SSH连接实验室服务器,iPad真香
这套操作的原理是SSH的隧道协议,具体可以看
SSH Tunnel 一般场景用法
更多推荐
所有评论(0)