【Linux内网穿透】使用SFTP工具快速实现内网穿透

在这里插入图片描述

文章目录

      • 内网穿透简介
        • 1. 查看地址
        • 2.局域网测试连接
        • 3.创建tcp隧道
          • 3.1. 安装cpolar
        • 4.远程访问
        • 5.固定TCP地址

内网穿透简介

  • 是一种通过公网将内网服务暴露出来的技术,可以使得内网服务可以被外网访问。以下是内网穿透的一些应用:
  • 远程控制:通过内网穿透技术,可以实现对内网电脑的远程控制,比如远程桌面、远程命令行等。
  • 文件共享:内网穿透可以让内网的文件共享服务暴露在公网上,方便用户在外网访问和下载内网文件。
  • 网络游戏:有些网络游戏需要在同一局域网内才能进行联机游戏,通过内网穿透技术,可以让玩家在不同的地方进行联机游戏。
  • 服务器搭建:通过内网穿透技术,可以将内网服务器暴露在公网上,方便用户在外网访问和使用内网服务器上的服务。
  • IoT设备远程控制:通过内网穿透技术,可以实现对内网中的IoT设备进行远程控制,比如智能家居设备的远程控制等。

总之,内网穿透技术可以扩展内网服务的覆盖范围,提高服务的可用性和灵活性。 简单几步实现Linux SFTP结合cpolar内网穿透工具实现远程连接

1. 查看地址

检查Linux IP地址,我们输入:

代码语言:javascript
复制
ip address

然后即可看到设备的局域网IP地址

image-20230316140039976
2.局域网测试连接

我们打开连接工具,这里使用winSCP连接测试,协议选择SFTP,输入上面查看的ip地址,端口号默认22,输入用户名和密码,点击登陆

image-20230316140528739

列出目录表示成功

image-20230316140924954
3.创建tcp隧道
3.1. 安装cpolar

cpolar官网:https://www.cpolar.com/

  • 支持一键自动安装脚本
代码语言:javascript
复制
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
20230316170801
  • 查看版本号
代码语言:javascript
复制
cpolar version

出现版本号表示安装成功

20230316170803
  • token认证

进入cpolar官网,点击免费注册进行注册一个账号

20230321142923

账号注册成功后并登录,点击左侧的验证查看自己的认证token

20230321142929

之后将token复制,把复制好的token执行如下命令

代码语言:javascript
复制
cpolar authtoken xxxxxx(复制的token)
20230321142939

/usr/local/etc/cpolar/cpolar.yml 表示cpolar配置文件所在的路径

  • 将cpolar配置服务设置开机自启动,向系统添加服务
代码语言:javascript
复制
sudo systemctl enable cpolar
  • 启动cpolar服务
代码语言:javascript
复制
sudo systemctl start cpolar
  • 查看服务状态
代码语言:javascript
复制
sudo systemctl status cpolar
20230316170809

注:active(running)表示服务已经启动且处于运行中

  • 打开cpolar web ui 管理界面

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

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

image-20230308165855618

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

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

点击创建

image-20230316142730007

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

image-20230316142804800
4.远程访问

然后我们继续使用在winSCP ,输入上面创建的ssh连接公网地址和端口号,即可远程FTP传输

image-20230316142953998

出现提示保存秘钥,点击是

image-20230316143116592

可以看到目录列表,表示连接成功

image-20230316143436561
5.固定TCP地址

上面通过cpolar建立的临时TCP数据隧道,成功通过FTP连接上了centos系统,。不过,此时的TCP数据隧道还是随机临时TCP隧道,每个24小时端口号就会发生变化。如果想要让不同设备间的数据隧道长期稳定存在,我们还需要进一步的设置(由于固定TCP隧道会长期占用cpolar服务器资源,因此不得不将此服务列入VIP项目中)。现在,就让我们来设置一条能长期稳定存在的TCP数据隧道吧。

要建立一条稳定的TCP数据隧道,我们首先要登录cpolar官网,进入仪表台的“预留”界面

20221118144407
20221118144412

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

image-20230316144727297

在这些信息填入后,点击右侧的“保留”按钮,将cpolar官网后台的隧道固定下来。此时cpolar会生成一个隧道端口,这就是我们ssh连接到centos系统的固定地址

image-20230316145417890

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

image-20230316145610461

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

image-20230316145827376

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

image-20230316145935951

固定地址后,我们再次使用我们固定的tcp地址FTP连接.

image-20230316150929410

列出了linux目录表示成功,接下来就可以相互获取文件啦

image-20230316151112070