利用xshell开启内网穿透

1,167 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

有两种场景你可能需要到使用这种方式进行连接其他机器

场景一、 在平常工作中生产环境经常是因为安全性的原因通过跳板机来进行连接,我们除了通过连接上跳板机之后,ssh的方式连接,也可以使用这种方式进行连接,这种方式比ssh的方式要好些,ssh方式的连接如果目标机器断开之后会自动连接到跳板机,会造成误操作,这种方式则不会。

场景二、 内网穿透的场景,如果有个公网的服务器,想连接家里的电脑,可以使用这种方式,不过保证家里的电脑要一直打开xshell连接公网服务器的窗口。

1、前置工作

现有跳板机A和本地机器B,确保跳板机开放指定端口(包括运营商、以及跳板机的)

1.1 跳板机上开启反向隧道

cd /etc/ssh
vim sshd_config

找到以下三项分别配置好,其他的不要动:

GatewayPorts yes        # CentOS7 开启反向隧道
ClientAliveInterval 60  # 保证服务不断开,每60秒自动发送一次请求
ClientAliveCountMax 36000 # 十个小时没有发送请求即自动断开

配置完成后重启ssh服务

service sshd restart

2、配置xshell隧道规则

在xshell中配置服务器,创建连接,在连接处添加IP地址,在用户身份验证中输入用户名和密码,这块IP地址、用户名和密码对应的都是外网的

在隧道处输入相应的信息。如果是传入的话,源主机代表连接的服务器,选择localhost即可。目标主机表示本地xshell所在的机器

在高级里点击跟踪,勾选SSH TCP/IP和X11通道

重新连接服务器,显示的日志会有提示

To escape to local shell, press 'Ctrl+Alt+]'.
[09:37:01] Trying to listen remote port 6711... Success.
WARNING! The remote SSH server rejected X11 forwarding request.

打开外网域名看是否正确映射到本地端口