搭建SFTP服务安全共享文件,实现在外远程访问「内网穿透」

news2025/1/16 18:58:20

文章目录

      • 1.前言
      • 2.本地SFTP服务器搭建
        • 2.1.SFTP软件的下载和安装
        • 2.2.配置SFTP站点
        • 2.3.Cpolar下载和安装
      • 3.SFTP服务器的发布
        • 3.1.Cpolar云端设置
        • 3.2.Cpolar本地设置
      • 4.公网访问测试
      • 5.结语


1.前言

现在的网络发达,个人电脑容量快速上升,想要保存的数据资料也越来越多。在平时,我们会将很多数据资料都会存在个人电脑上,甚至发展出专门的数据存储设备(NAS设备)。毕竟手机容量小,存太多东西会卡顿。但为了满足我们随时随地查阅这些数据资料的要求,又需要能随时安全的连入个人电脑和存储设备,这时SFTP服务就能大显身手。今天,笔者就为大家详细介绍,如何使用Cpolar内网穿透的FTP协议,搭建自己的SFTP服务器,能够随时随地安全的调取查阅本地电脑上的数据资料吧。

2.本地SFTP服务器搭建

本质上来说,SFTP是一项传输协议,而为了执行这项传输协议,就需要相应的SFTP软件来执行,当硬件设备加上SFTP软件,就组成了执行SFTP协议的服务器。但通常这种服务器只能在局域网内提供服务,想要让这个服务器能被公共互联网上的设备访问到(可以是移动网的手机,也可能是安放在其他地方的电脑),就需要使用cpolar的内网穿透服务。

2.1.SFTP软件的下载和安装

要搭建SFTP服务器,相关软件必不可少,这里我们采用FreeSSHd这款软件执行FTP协议,为了保证软件的干净,我们还是在其官网下载。官网下载地址为http://www.freesshd.com/?ctt=download,而下载的软件,则是FreeFTPd。

20230317093901

FreeFTPd软件下载完成后,直接双击就可以进行安装。安装过程也没啥可说的,一路next即可。

20230317093902

FreeFTPd安装完成后,可以在开始菜单中找到FreeFTPd软件的快捷方式,需要注意的是,我们需要右键点击软件,在出现的菜单中选择以管理员身份运行该软件,才能让所做的配置生效,一般用户身份运行就没法保存所做的配置。

20230317093903

打开FreeFTPd软件主界面后,点击左侧的SFTP选项,进入SFTP设置页面,在这个页面右下部,点击Start启动SFTP服务。

20230317093904

SFTP服务启动后,我们可以看到Server status栏位显示为Running,并在Prot:22端口输出。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdaQG8rq-1679361192516)(null#pic_center)]

启动SFTP服务后,我们先不着急保存退出,而是先建立一个用户。同样点击软件主界面左侧的Users,进入用户添加界面,点击Add按钮,添加一个用户。

20230317093906

添加用户时,自然需要进行一些关于用户的设定,比如用户名、用户密码、发布的磁盘(文件夹)、传输方式之类。这里我们将用户名定为test,共享的磁盘为E盘,传输协议为SFTP。完成这些设置后,就可以点击下方的“Apply”保存设置。

20230317093907

20230317093908

需要注意的是,我们需要将打算用SFTP发布的存储空间(硬盘或文件夹)审定好权限,防止访问这个存储空间时因权限限制而被拒绝。具体方法就是右键点击这个存储空间,选择右键菜单最下方的属性进入设置页面,点击安全选项卡,将Users的完全控制修改读取和执行列出文件夹内容读取写入几个权限都勾选并保存。

20230317093909

2.2.配置SFTP站点

完成了FreeSSHd软件的设置,我们还要建立一个SFTP站点,让远程访问的请求有地方可去。这里我们选用FileZilla这款软件。同样的,这款软件也可以在其官网找到下载(https://www.filezilla.cn/)。

20230317093910

在选择对应操作系统的FileZilla客户端下载后,解压后找到filezilla.exe双击进行安装。

20230317093911

FileZilla客户端安装完成后,进入FileZilla客户端主界面,点击左上角的文件按钮,并在弹出的菜单中选择第一项站点管理器

20230317093912

站点管理器页面,我们点击新站点,并对这个新站点进行设置,设置内容主要为

  • 协议(在下拉菜单中选择SFTP)

  • 主机(FileZilla服务器和FreeFTPd在同一台电脑上,因此输入本机地址127.0.0.1)

  • 用户名即密码(即FreeFTPd上我们设置的用户名和密码)

  • 完成这几项设置后,就可以点击下方的连接进行连接测试。

20230317093913

出于安全和权限考虑,软件会进行几项权限询问,我们选择同意即可。

20230317093914

20230317093915

接着就能看到,本地用于SFTP传输的磁盘(文件夹)已经成功连接,这也算是对FreeFTPd的运行进行了测试,说明在局域网内已经可以正常用FreeFTPd执行SFTP协议连接。

20230317093916

2.3.Cpolar下载和安装

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

接下来,我们就要安装SFTP服务器公共互联网发布的最后一个重要组件,也就是安装cpolar软件。Cpolar的安装十分简单,我们同样访问cpolar的官网,在官网找到下载按钮,找到适用操作系统的版本进行下载。

20230317093917

20230317093918

Cpolar下载完成后,将下载的压缩包解压,并双击解压后的.msi文件进入安装程序,接下来一路Next即可。

20230317093919

20230317093920

需要说明的是,cpolar主要通过使用者的用户名来建立该用户专属的数据隧道,因此我们需要在官网上注册,以便之后创建对应的数据隧道。

20230317093921

20230317093922

3.SFTP服务器的发布

在各项准备工作都完成后(安装FreeFTPd服务器,设置FileZilla站点,并本地连接FreeFTPd进行测试,安装并注册Cpolar),就可以正式进入FreeFTPd的公共互联网发布工作。

由于SFTP协议应用于文件传输,会对带宽有一定要求,同时对连接稳定性也有要求(即能够随时随地访问到),因此建议将cpolar升级到专业版及以上,以便能创建具备一定带宽和长期稳定存续的数据隧道(免费版cpolar每隔24小时会重置内网穿透数据隧道地址)。

3.1.Cpolar云端设置

想要建立稳定的内网穿透数据隧道,我们需要先登录cpolar的官网,点击官网主界面左侧的预留按钮,进入数据隧道预留设置页面。

20230317093923

在“预留”页面,我们找到保留的TCP隧道,并在此栏位对SFTP数据隧道进行几项简单设置。

20230317093924

保留的TCP隧道栏位,我们需要设置的项目只有两项,分别是地区(即服务器所在位置,就近选择即可)和描述(即这条TCP隧道的备注,只要能方便自己区分就行)。

20230317093925

完成这两项设置后,就可以点击栏位右侧的“保留”按钮,将这条空白数据隧道保留下来,并生成一个公共互联网地址,稍后我们在进行cpolar客户端设置时,会用到这个地址,因此可以先将其复制下来。

当我们不打算使用这条数据隧道时,也可以点击右侧的x将这条数据隧道删除。

20230317093926

3.2.Cpolar本地设置

回到安装了FreeFTPd服务器的电脑(当然我们也在这台电脑上安装了cpolar客户端),打开cpolar的客户端(可以在开始菜单中点击cpolar的快捷方式,也可以在浏览器中输入localhost:9200),用自己的账号密码登录后,点击cpolar主界面左侧隧道管理项下的创建隧道按钮,进入本地内网穿透数据隧道的设置页面。

当然,为了创建这条数据隧道,我们也需要对这条内网穿透数据隧道的特性进行设置,具体为:

  1. 隧道名称:可直接看做数据隧道的备注,为方便区分,我们仍将这条数据隧道的名称设为SFTP连接;
  2. 协议:即数据隧道的传输协议,如网页、数据传输、设备互联等,这里选择TCP协议;
  3. 本地地址:这里需要填入软件(或内网设备)的端口号,由于FreeFTPd的默认输出端口号为22,因此此处填入22;
  4. 端口类型:即这条数据隧道的类型,是否为长期存续的隧道。
    • 由于我们在cpolar云端设置了保留隧道,因此可以选择固定TCP端口(固定TCP端口要将cpolar升级至专业版及以上);
    • 若只是临时使用,则选择随机临时TCP端口
  5. 预留的TCP地址:在选择了“固定TCP端口”后就会出现该栏位,这里我们将cpolar云端生成的地址粘贴进来;

完成这几项设置后,就可以点击页面下方的创建按钮,生成一条完整的SFTP数据隧道

20230317093927

完成本地数据隧道的设置后cpolar客户端会自动转入隧道管理项下的隧道列表页面。在这个页面,我们能对这条数据隧道进行管理,如启动、暂停、删除这条数据隧道;也能看到这条数据隧道的运行情况(是否处于运行状态);还能通过“编辑”按钮对这条数据隧道的各项信息进行修改。

而这条数据隧道的入口(即公共互联网地址),则可以在装填项下的在线隧道列表页面找到。

20230317093928

在完成cpolar云端及客户端的数据隧道设置后,我们就能回到FileZilla软件,使用cpolar创建的数据隧道进行访问测试。

由于此时我们已经完成了对本地FreeFTPd的穿透和发布,因此已经可以在其他电脑的FileZilla软件上,设置新的SFTP传输站点,进行FreeFTPd远程访问。

4.公网访问测试

与前面的FileZilla的设置一样,我们先打开FileZilla客户端,并新建一个站点。为方便区分,笔者将这个站点命名为“Cpolar访问测试”,并将cpolar生成的公共互联网地址填入主机栏位;而端口栏位,则应该填入cpolar生成地址最后的几位数字;剩下的用户名和密码,则应填入FreeFTPd设定的用户名和密码。

20230317093929

设置完成后,点击页面下方的连接按钮,就可以连入局域网内的FreeFTPd服务器,对电脑上分享的文件资料进行操作。

20230317093930

5.结语

到这里,我们就成功完成了本地电脑的SFTP服务器设置,并让本地电脑上的资料文件,以SFTP协议进行传输,实现了随时随地调取、操作和访问本地电脑上文件资料的目的。当然,使用FileZilla进行远程访问只是为了方便演示,只要FreeFTPd服务器和cpolar数据隧道设置正确,我们也可以使用其他SFTP客户端软件访问本地电脑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最近,我们做了一次“实景”容灾演练

保障头部新闻客户端的业务连续性,阿里云帮助客户在真实场景下完成容灾演练。 云计算和新闻 APP,能有什么关系? 2021 年,传媒行业某头部媒体的新闻客户端进行了全新改版并升级上线,以 “内容技术”的融合驱动效率提升&a…

Vue2-黑马(十)

目录: (1)vuex-actions (2)vuex-调用actions (3)vue2实战-项目搭建 (1)vuex-actions 有这么一个需求,绿色的组件从服务器获取数据放入store,主…

CHAPTER 2: 《BACK-OF-THE-ENVELOPE ESTIMATION》 第2章 《初略的估计》

CHAPTER 2: BACK-OF-THE-ENVELOPE ESTIMATION 在系统设计面试中,有时您会被要求估计系统容量或使用粗略估计的性能需求。根据杰夫迪恩的说法,谷歌高级研究员,“粗略的计算是你使用结合思想实验和常见的性能数字,以获得良好的感觉…

武器目标分配问题研究进展: 模型、算法与应用

源自:系统公正与电子技术 作者:李梦杰 常雪凝 石建迈 陈超 黄金才 刘忠 摘 要 武器目标分配问题是指挥控制与任务规划领域的关键难点之一, 也是军事运筹领域的基础研究课题。经过多年研究, 武器目标分配问题在陆海空天电等领域都得到了广泛研究,…

ESLint插件开发

ESLint 插件 ESLint 插件是一个可以包含一系列ESLint 规则、配置、处理器、环境的npm模块。 创建插件 开发ESLint插件可以使用Yeoman提供的生成器来生成ESLint插件的基本项目的目录结构。 安装yeoman 和ESLint 规则的生成器 npm i -g yo generator-eslint创建eslint-xxxx使用y…

春秋云境:CVE-2022-26201(二次注入漏洞)

目录 一、题目 二、上传权限马 三、蚁剑马连接 一、题目 进入题目: 这个是和春秋云境:CVE-2022-28060一个网站,看来应该是存在多个漏洞。 点击admin 不用登录 Users ---- add users 选择文件 这里要是jpg图片格式 如果是php格式是无法运行…

机器学习(一)-K近邻算法(KNN)原理剖析及python源码

本篇介绍第一个机器学习算法:k-近邻算法,它非常有效而且易于掌握。首先,我们将探讨k-近邻算法(KNN)的基本理论,以及如何使用距离测量的方法分类物品;其次我们将使用Python从文本文件中导入并解析…

JavaSE学习进阶day06_02 Set集合和Set接口

第二章 Set系列集合和Set接口 Set集合概述:前面学习了Collection集合下的List集合,现在继续学习它的另一个分支,Set集合。 set系列集合的特点: Set接口: java.util.Set接口和java.util.List接口一样,同样…

D. Marcin and Training Camp(思维 + 判断一个数二进制位是否是另一个数的子集)

Problem - D - Codeforces 马辛是他大学里的一名教练。有N个学生想参加训练营。马辛是个聪明的教练,所以他只想派那些能冷静合作的学生参加。 让我们关注一下这些学生。每个学生可以用两个整数ai和bi来描述;bi等于第i个学生的技能水平(越高越…

【刷题之路】LeetCode 程序员面试金典 08.03. 魔术索引

【刷题之路】LeetCode 程序员面试金典 08.03. 魔术索引 一、题目描述二、解题1、方法1——暴力法1.1、思路分析1.2、代码实现 2、方法2——二分分治2.1、思路分析2.2、代码实现 一、题目描述 原题连接: 面试题 08.03. Magic Index LCCI 题目描述: 魔术索…

计算机网络考试复习——第三章 3.3

3.3 使用广播信道的数据链路层 3.3.1局域网的数据链路层 局域网最主要的特点: 1.网络为一个单位所拥有; 2.地理范围和站点数目均有限。 局域网具有如下主要优点: 1.具有广播功能,从一个站点可很方便地访问全网。 2.便于系统…

分布式问题,你知道几个?

你好,我是田哥 现在的单体服务是很难应付面试了,必须要把分布式相关技术给讲清楚,否则面试难搞。 下面我们来聊聊,分布式环境下会面临哪些问题。 先来看一下主要内容: 分布式系统中常见的难题包括: 一致性问…

PackageMS 启动

1.PackageMS 相关框架类 2.PackageMS 启动过程 2.1 # SystemServer.java /** 291 * The main entry point from zygote. 292 */ 293 public static void main(String[] args) { 294 new SystemServer().run(); 295 } 上面是SystemServer的主函数。 pr…

RK3568开发板 buildroot编译配置

启扬智能RK3568开发板提供两种文件系统,一种是Debian,另外一种是BuildRoot。在使用过程中,有些客户需要添加属于自己的软件包,所以在此分享启扬RK3568关于BuildRoot编译配置的方法以及相关注意事项。 启扬提供的源码是完整sdk&am…

毕业论文用什么流程图软件比较好?

在写作论文的时候使用流程图,会让我们的论文看起来更加有逻辑。并且流程图的图片都可以在PPT中随意插入以及使用。 基础流程图作为最为基本和简单的的流程图方式,一般不区分用户角色和场景,适用于简单场景,梳理单一的流程情况&am…

nssctf web入门(8)

目录 [SWPUCTF 2021 新生赛]easy_sql [SWPUCTF 2021 新生赛]error 这里通过nssctf的题单web安全入门来写,会按照题单详细解释每题。题单在NSSCTF中。 想入门ctfweb的可以看这个系列,之后会一直出这个题单的解析,题目一共有28题,…

mysql(8.0)_主从复制

1.环境介绍 自己的主机--master 同学的主机--slave2.安装mysql https://blog.csdn.net/weixin_45955039/article/details/130144515?spm1001.2014.3001.55013. 准备工作 3.1在云服务器上添加端口号 3.2关闭防火墙 systemctl stop firewalld setenforce 04.master上的配置 …

数字图像处理笔记 第二章 数字图像基础

第二章 数字图像基础 2.1 视觉感知要素 知己知彼,百战不殆。了解人类的视觉感知,有助于我们学习数字图像处理。本小节中眼睛中图像的形成,让我联想到照相机成像,人眼的亮度适应和辨别让我想到手机屏幕的自动调节亮度。由于这部分…

马尔科夫链HMM

在机器学习算法中,马尔可夫链(Markov chain)是个很重要的概念。马尔可夫链(Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain),因俄国数学家安德烈马尔可夫(俄语&a…