龙空技术网

xshell 之建立 ssh 隧道连接

刘伶闯天台 140

前言:

此刻你们对“centos开放8888端口命令”大体比较注意,各位老铁们都想要剖析一些“centos开放8888端口命令”的相关资讯。那么小编在网络上网罗了一些对于“centos开放8888端口命令””的相关知识,希望各位老铁们能喜欢,咱们快快来了解一下吧!

假设有这样一个需求:有一台 linux 云服务器,在云服务器上安装了一个宝塔控制面板用来管理网站,宝塔控制面板的访问端口是 8888,为了安全,云服务器关联的安全组只允许80、22端口远程访问,那在本地如何方便的访问到宝塔控制面板呢?

答案之一: 通过 xshell 建立 ssh 隧道连接使本地可访问。

一、 测试环境:

Server端: 腾讯云服务器一枚,具体环境如下:

操作系统:CentOS 7.5 64 位

公网IP: 132.232.151.231 (非真实IP)

内网IP: 172.27.0.130(非真实IP)

注:公网 IP 不是直接配置在 VPC 上的,登录系统后 ifconfig 命令查看绑定 IP 如下图,可以看到只有一个内网IP:

查看IP

云服务器关联的安全组设置:

出站规则:所有都允许

入站规则:ICMP以及内网所有协议全允许,公网仅允许80、443、22、3389、6666 端口允许被访问。具体如下所示:

入站规则

入站规则

出站规则

云服务器防火墙:关闭

注:1. 允许被访问不代表服务器全部开放该端口;2. 安全组允许访问,同时 VPC 上的防火墙也有允许访问且服务器上端口被服务启用才真正能访问。(测试环境 VPC 上关闭防火墙)

服务器上安装宝塔控制面板:

宝塔控制面板监听端口 8888

Client 端: Windows XP + xshell

二、访问测试:

Client 端访问宝塔控制面板:,这个时候因为云服务器关联的安全组未开放 8888 端口是无法正常访问的,如下图:

测试访问云服务器宝塔控制面板

客户端 telnet 测试云服务器 8888 端口

那么我们在 Client 端要怎样才能访问宝塔控制面板呢?可以使用 xshell 建立 ssh 隧道的方式来访问。

三、xshell 建立 ssh 正向隧道:

我所理解的所谓 ssh 正向隧道意思就是,在本地 Client 端(运行 xshell 的这台电脑)上监听一个自定义端口,访问者通过访问本地监听的端口,将访问请求通过 ssh 隧道转发到服务器,然后由服务器执行访问请求去访问目标地址,访问返回的数据最后通过 ssh 隧道到客户端最后通过监听端口返回给访问者。(有点绕,看下面开始实验)

xshell 登录云服务器;登录云服务器以后开始建立 ssh 隧道:

属性

添加转移规则

如上图所示,需要选择、填写如下项:

类型(方向):有三个选项:

Local(Outgoing):正向隧道

Remote(Incoming):反向隧道

Dynamic(SOCKS4/5): SOCKS代理

这里我们选择Local(Outgoing)

源主机:这里我们就使用默认 localhost

侦听端口:自定义端口2018

目标主机:这里我们也使用默认 localhost

目标端口:8888(填写宝塔控制面板的端口)

SSH 正向隧道

添加完成,最后确定

建立完成以后,我们查看一下 Client 端(运行 xshell 的这台电脑)端口监听情况:

如上图,很明显我们可以看到 xeshell 在地址 0.0.0.0 上监听了一个 2018 端口。

OK,这个时候我们就可以用:

任意一个地址在本机来访问服务器 132.232.151.231 上的宝塔控制面板了,见下图:

本地访问宝塔控制面板

本地登录宝塔控制面板

可以看到我们的需求可以达到了。

同样在与 Client 端在同一局域网内的其他设备比如手机上也可以通过访问

进行访问云服务器的宝塔控制面板,因为 2018 端口是监听在 0.0.0.0 地址上,如果监听地址监听的是 127.0.0.1 那同一局域网的手机上还能访问吗?

Client 端同一局域网手机访问云服务器宝塔控制面板

最后考虑一下,源主机、目标主机为什么填 localhost ?可以填其他地址的吗?

标签: #centos开放8888端口命令