无公网IP,SSH远程连接Linux CentOS服务器内网穿透

Posted 内网穿透工具

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无公网IP,SSH远程连接Linux CentOS服务器内网穿透相关的知识,希望对你有一定的参考价值。

文章目录


本次教程我们来实现如何在外公网环境下,SSH远程连接家里/公司的Linux CentOS服务器,无需公网IP,也不需要设置路由器。

视频教程

公网SSH远程Linux CentOS服务器【内网穿透】

1. Linux CentOS安装cpolar

cpolar支持一键自动安装脚本

  • cpolar 安装(国内使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

或 cpolar短链接安装方式:(国外使用)

curl -sL https://git.io/cpolar | sudo bash
  • 查看版本号,有正常显示版本号即为安装成功
cpolar version
  • token认证,登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx

  • 简单穿透测试,如有正常生成公网地址则为穿透成功,按ctrl+c退出
cpolar http 8080
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar
  • 查看服务状态,,正常显示为active则表示为启动成功在线状态
sudo systemctl status cpolar

cpolar安装成功后,默认会安装2条样例隧道,可自行编辑或者删减

  • website隧道:使用http协议,指向本地8080端口
  • ssh隧道,使用tcp协议,指向本地22端口

2. 创建TCP隧道

在centOS系统本地安装cpolar内网穿透之后,在外部浏览器上访问centOS本地9200端口,访问方式:局域网ip+:9200,打开cpolar web ui界面。

安装cpolar后,会默认生成一个ssh名称的隧道,如果有ssh,则可以直接跳到查看在线隧道列表,然后远程连接

如果没有,我们点击左侧仪表盘的隧道管理——创建隧道,由于ssh连接默认的是22端口,因此我们要来创建一条tcp隧道,指向22端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:tcp
  • 本地地址:22
  • 域名类型:选择随机域名
  • 地区:选择China VIP

点击创建

创建好后打开在线隧道列表,查看随机公网tcp地址

3. 随机地址公网远程连接

在外我们可以通过这个公网地址来SSH远程连接Linux CentOS,以windows系统为例,我们使用在cmd窗口即可远程连接centOS

ssh -p 端口号 用户名@公网地址 

这里需要注意,由于我们的本地22端口到了公网被映射到了23075端口(您的公网端口可能不一样),所以,ssh命令需要加-p参数,后面加公网端口号

同时我们也可以使用xshell工具也可以连接

4. 固定TCP地址

我们通过cpolar建立的临时TCP数据隧道,成功连接了位于局域网下的centos系统,,并能通过这条TCP连接隧道进行无差别操作。不过,此时的TCP数据隧道还是随机临时TCP隧道,每隔24小时端口号就会发生变化,更适合应用于系统调试、远程解决操作问题等环境。

如果想要让这条数据隧道长期稳定存在,我们还需要进一步的设置。首先要登录cpolar官网,点击左侧的预留

在预留界面中,找到保留的TCP地址项目。在这个项目下,我们填入一些必要信息,如识别数据隧道的隧道名称、隧道使用区域等。

  • 地区:选择China VIP
  • 描述:即备注,可以自定义填写

然后点击保留

地址保留成功后,cpolar会返回一个固定公网地址+固定公网端口号,这就是我们ssh连接到centos系统的固定地址,将其复制下来

接着我们回到cpolar web UI 管理界面,打开隧道列表,找到之前创建的随机临时TCP隧道,进入编辑页面

将我们在cpolar官网获得的隧道端口粘贴进预留的TCP地址栏中,然后点击下方的更新按钮

  • 端口类型:改为选择固定TCP端口
  • 预留的TCP地址:填写刚刚保留成功的固定公网地址

点击更新

然后再次查看在线隧道列表,发现ssh的隧道对应的公网地址变成了我们官网保留的固定地址

此时,我们就可以在其他设备和操作系统下,使用命令,稳定轻松的连接到Linux CentOS系统中,且不用再担心数据隧道端口号重置的问题。

5. 使用固定公网TCP地址SSH远程

打开cmd,执行ssh命令

ssh -p端口号 用户名@公网地址

这里需要注意,还是需要加-p参数,后面加公网端口号

同时使用xshell工具也可以连接。

综上,成功实现了在外公网环境下也可以SSH远程连接到公司/家里的Linux CentOS服务器,不需要公网IP,也不用设置路由器,简单通过cpolar内网穿透工具映射本地22端口,通过所生成的公网地址来进行SSH远程连接。

公网远程访问局域网SQL Server数据库无公网IP内网穿透

目录

1.前言

2.本地安装和设置SQL Server

2.1 SQL Server下载

2.2 SQL Server本地连接测试

2.3 Cpolar内网穿透的下载和安装

2.3 Cpolar内网穿透的注册

3.本地网页发布

3.1 Cpolar云端设置

3.2 Cpolar本地设置

4.公网访问测试

5.结语


转发自CSDN远程穿透的文章:无需公网IP,远程连接SQL Server数据库【内网穿透】

1.前言

数据库的重要性相信大家都有所了解,作为各种数据的电子资料夹,其中可能包含了各种信息,从企业员工信息到网站访问或成交数据无所不包,甚至在某些场景下,数据库已经成为企业正常运行必不可少的条件之一。与企业的其他工作一样,数据库也需要进行必要的维护。但经过口罩时期的考验,为自家数据库做一个远程操作的设置显得很有必要。今天,笔者就为大家介绍,如何使用cpolar内网穿透,远程连接和操作SQL Server。

2.本地安装和设置SQL Server

Microsoft SQL Server算是比较知名的关系型数据库管理软件,虽然不算是应用最多的,但其作为微软出品,对自家的Windows系列操作系统有很好的兼容性,因此很适合应用在各种安装了Windows操作系统的硬件上,并承担起数据管理软件的责任。

2.1 SQL Server下载

由于SQL Server是微软出品,因此可以轻松的在微软的官网上找到下载(SQL Server Downloads | Microsoft

点击所需版本下载(笔者选择了Developer),双击下载好的.exe文件,就可以进行自动安装。

安装模式选项中,同样选择所需的模式。在这里,笔者选择了基本安装模式。

接下来就是一路Next即可完成安装程序

2.2 SQL Server本地连接测试

完成安装后,SQL Server会自动转入操作界面,我们在这里点击下方的立即连接按钮。

这时会弹出SQLCMD命令行窗口,只要显示内容如下图所示,就说明我们本地的SQL Server安装完成。

2.3 Cpolar内网穿透的下载和安装

接下来,我们继续安装远程连接SQL Server的关键软件:Cpolar。与Microsoft SQL Server一样,我们可以登入Cpolar的官网(www.cpolar.com),点击首页上方的下载按钮,进入cpolar下载页面,下载所需版本的cpolar软件。当然,我们这里选择Windows版本进行下载。

Cpolar下载完成后,将下载的文件解压,点击.msi文件,就能进入cpolar自动安装程序,只要一路Next就能完成安装。

2.3 Cpolar内网穿透的注册

由于cpolar是以注册用户为区分,为每个用户(无论是免费还是付费)创建单独的数据隧道,辅以每个用户独立的密码和token码,以此保证用户的数据安全。因此我们在使用cpolar前,需要进行注册,注册的过程也非常简单,直接点击cpolar官网右上键的注册按钮,进入用户注册页面,再设置用户名、密码等几项简单信息,就能完成新用户的注册。

3.本地网页发布

这时我们在本地电脑上安装了SQL Server和cpolar,接下来我们就可以使用cpolar内网穿透,创建一条能够从公共互联网上直连本地SQL Server的数据隧道,达到远程访问SQL Server的目的。

需要注意的是,cpolar免费版设置的数据隧道地址以24小时为周期进行重置,VIP版则可以创建长期稳定不变化的数据隧道地址。但我们并不知道何时会需要远程连接数据库(笔者就因疫情临时管控吃过大亏),因此笔者将cpolar升级至VIP版,以便创建能够长期稳定的数据隧道。

3.1 Cpolar云端设置

首先,我们登录cpolar客户端,在仪表台页面左侧找到预留按钮,进入数据隧道的“预留”页面。

在cpolar的预留页面,我们找到保留的TCP地址栏位,为我们要连接的SQL Server设置一个公网地址,这个地址可以看做是数据隧道的入口,也可以理解为空白数据隧道(毕竟这里设置的隧道入口还没有关联本地软件的输出端口)。

保留的TCP地址栏位,我们只要进行两项简单的设置:

  • 地区:即服务器所在区域,我们就近选择即可

  • 描述:可以看做这条数据隧道的注释,只要方便分辨即可

完成这两项设置后,就可以点击右侧的“保留”按钮,将这条数据隧道的入口固定下来。

这里我们需要将地址栏位的内容复制下来,在cpolar客户端进行设置时会需要到这个地址。当我们不再需要这条数据隧道时,还可以点击右侧的x将这条保留的隧道删除,节约珍贵的隧道名额。

免费版的临时数据隧道不需要进行cpolar云端设置,可直接进行cpolar客户端设置,但也就无法设置能够长期稳定存在的数据隧道。

3.2 Cpolar本地设置

接着,我们回到本地电脑上安装的cpolar客户端(可以从开始菜单点击快捷方式,也可以直接在浏览器输入localhost:9200访问)。在cpolar的客户端左侧,我们点击隧道管理项下的创建隧道按钮,进行本地数据隧道的设置,将cpolar云端创建的隧道入口与本地SQL Server连结起来。

当然了,想要创建数据隧道,仍需要进行一些设置,具体为:

  1. 隧道名称:该栏同样可以看做是数据隧道的备注,用于与其他本地创建的隧道进行区分,这里我们输入微软SQL

  2. 协议:该栏是内网穿透的应用场景,如发布网页、数据传输、硬件互联等,本例中选择TCP协议

  3. 本地地址:该栏需要填入SQL Server的输出端口号,即端口1433(SQL Server的默认端口号);

  4. 端口类型:该栏主要是内网穿透数据隧道的持续时间,打算长期使用的点选固定TCP端口;若只是测试或临时使用,则选择随机临时TCP端口(需要注意的是,固定TCP端口需要将cpolar升级至专业版及以上)

  5. 预留的TCP地址:该栏位仅限于选择了“固定TCP端口”的用户,若勾选的是“随机临时TCP端口”选项,则不会出现该栏位。填写我们刚刚保留成功的固定TCP端口地址

在完成这些设置后,就可以点击下方的创建按钮,将cpolar云端保留的空白数据隧道与本地SQL输出端口连结起来。

完成本地数据隧道的创建后,cpolar客户端会自动跳转至隧道管理项下的隧道列表页面。

在这里,我们能清晰的看到所有数据隧道的运行情况(是否正常在线或断开),并对某条数据隧道进行操作,如启动、停止或删除,如果想要对已有的数据隧道进行信息更改,也可以在这里找到编辑入口。

4.公网访问测试

完成cpolar客户端的设置后,我们可以点击状态项下的在线隧道列表页面,找到远程访问本地SQL Server的地址(也就是隧道入口),我们将这个地址粘贴到不同的远程数据库管理软件中,就能连接到本地的SQL Server上。

比如Windows命令行下(公网地址的最前面的tcp://无需复制)

sqlcmd -s 公网地址:公网端口号

或者使用Navicat工具,在连接页面的主机栏位,填入cpolar生成的地址(去掉最前面的tcp://,并将末尾数字端口号前的冒号改为逗号

同理,我们还能使用SSMS图形界面进行远程连接,同样在连接界面,将cpolar生成的地址粘贴到服务器名称栏位(去掉最前面的tcp://,并将末尾数字端口号前的冒号“:”改为逗号“,”),就能连接到本地电脑上的SQL Server。

5.结语

至此,我们就完成了将本地Microsoft SQL Server通过远程登录的设置,并且使用cpolar生成的地址,能从多个数据库管理软件登录到SQL Server上,大大增加了我们工作的便利性。

以上是关于无公网IP,SSH远程连接Linux CentOS服务器内网穿透的主要内容,如果未能解决你的问题,请参考以下文章

利用SSH 反向代理 ,实现跨局域网连接家里的linux 主机 (树莓派)

构建SSH连接远程操作Linux的Centos系统,并配置静态IP地址

CentOS ssh远程timeout错误

shell编程 之 ssh远程连接

Linux系统连接路由器不能用公网ip访问nginx

linux centos 7 系统,SSH无法远程连接,是啥原因,如何处理?急,在线等!