如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问
文章目录
- 1. 搭建SFTP服务器
- 1.1 下载 freesshd服务器软件
- 1.3 启动SFTP服务
- 1.4 添加用户
- 1.5 保存所有配置
- 2 安装SFTP客户端FileZilla测试
- 2.1 配置一个本地SFTP站点
- 2.2 内网连接测试成功
- 3 使用cpolar内网穿透
- 3.1 创建SFTP隧道
- 3.2 查看在线隧道列表
- 4. 使用SFTP客户端,连接公网地址测试
- 4.1 添加新站点
- 4.2 以公网方式,连接sftp服务器成功
- 总结:
1. 搭建SFTP服务器
1.1 下载 freesshd服务器软件
下载地址:http://www.freesshd.com/?ctt=download
选择freeFTPD.exe下载
下载后,点击安装
安装之后,它会提示是否启动后台服务,Yes
安装后,点击开始菜单–> freeFTPd,注意:这里要点击鼠标右键,以管理员权限
打开freeFTPd,如果以普通用户打开freeFTPd,将无法保存配置。
主图口如下,我们看到SFTP状态为未启动。
1.3 启动SFTP服务
选择SFTP,如下图,我们看到当前SFTP状态为Stopping,我们点击start
按钮。
状态将变为Running…,如下图。
1.4 添加用户
选择Users选项窗口,点击Add按钮,添加用户。
这里添加一个测试用户aaa,认证方式可以选择WINDOWS验证和密码验证,本例选择独立密码验证。
用户目录,我们为用户单独创建一个SFTP的根目录。
创建好以后,点击Apply
按钮保存。
以及别忘了配置SFTP根目录文件夹的目录权限.
1.5 保存所有配置
点击下图Apply & Save
按钮。保存所有配置写配置文件。
注意:如果弹出不能写入配置错误窗口,说明您之前是用普通用户启动的freeFTPd,无法保存配置文件。需要以管理员权限重新打开freeFTPd,才能正常写入配置文件。重新执行步骤1,再次保存。
保存后的结果如下图。
2 安装SFTP客户端FileZilla测试
下载地址:https://www.filezilla.cn/
安装后打开,如下图
2.1 配置一个本地SFTP站点
在软件工具栏点击打开站点管理器
,如下图。
点击新站点
按钮。
我们创建一个新站点,名称随意。
- 选择协议:为SFTP
- 服务器IP:因为就是在服务器上,选择127.0.0.1
- 端口号:选择 22
- 用户名:为我们搭建sftp服务器时,创建用户,本例为aaa
- 密码:输入用户aaa的密码
配置好后,点连接
按钮。
提示是否保存密码,点击确定。
初次连接时,会提示是否信任该主机,打勾,并确认。
2.2 内网连接测试成功
我们可以看到,已经可以获取到服务器端的目录列表,说明连接成功。
3 使用cpolar内网穿透
前置条件是您已经安装了cpolar,如果没安装,请参考先安装cpolar内网穿透工具。
cpolar官网:https://www.cpolar.com/
在浏览器上访问cpolar的官网,免费注册一个账号,然后下载并安装windows版本的cpolar内网穿透工具。
cpolar内网穿透安装成功后,我们打开浏览器访问cpolar web UI管理界面:127.0.0.1:9200,使用cpolar邮箱账号登录。
3.1 创建SFTP隧道
选择左边菜单栏隧道管理
–创建隧道
,添加一个新的TCP隧道。
- 隧道名称:tunnel-sftp (您可以自定义,不重复即可)
- 协议: TCP
- 本地地址:22
- 地区: 本例中选择China Top
点击创建
按钮。
隧道列表中,显示了我们刚创建的隧道。
3.2 查看在线隧道列表
本例中,我们获取到的公网地址为 3.tcp.cpolar.top:12284
,其中3.tcp.cpolar.top
是公网地址,12284
是端口号
4. 使用SFTP客户端,连接公网地址测试
4.1 添加新站点
我们打开filezilla,按步骤2的操作方式,重新添加一个新站点
工具栏里,打开站点管理器,添加新站点。
我们这次给站点起名为cpoalr sftp
- 协议:SFTP
- 主机: 3.tcp.cpolar.top (本例中可能跟您的不一样,参考在线隧道列表)
- 端口:12284 (本例中可能跟您的不一样,请参考您的在线隧道列表)
4.2 以公网方式,连接sftp服务器成功
可以看到,已经通过cpolar提供的公网域名,连接SFTP服务器成功。
PS:如果出现中文目录乱码的问题,可以通过在SFTP客户端里配置字符集来解决:
- 将字符集设置为
GBK
- 【由于目前大多数linux字符集为了通用,以及都改为了UTF-8,而Windows默认字符集为GBK,所以只需要将其将字符集设置GBK,就不会乱码了】
总结:
本例中,我们在windows中搭建了sftp站点,并且在本网测试成功后,又使用cpolar穿透工具,将SFTP站点,变得公网可用。由于本例中使用的是免费套餐,sftp站点的公网地址及端口会在24小时内变化,经常使用会很不方便。建议升级到专业套餐以上,并配置成固定TCP隧道,以获得更好的体验,注专业套餐是免费套餐带宽的3倍。【cpolar目前支持21天退款保证】
相关文章:

如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问
文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端࿰…...

C#---第二十:不同类型方法的执行顺序(new / virtual / common / override)
本文介绍不同类型的方法,在代码中的执行顺序问题: 构造方法普通方法(暂用common代替)、虚方法(Virtual修饰)、New方法(new修饰)三个优先级相同overide方法(会替换virtual…...

lnmp架构-PHP
08 PHP源码编译 09 php初始化配置 nginx 的并发能力强 phpinfo函数 就是 显示php信息 10 php的功能模块 编译memcache模块 php的动态模块方式 mamcache 就是内存 直接从内存中命中 所以性能非常好 但是 这还不是最好的方式 工作流程 关键看后端的 php 什么时候处理完 mamcac…...

【javascript实操记录】
功能描述: 1. 利用split()方法对测试数据进行解析:学科,日期 2. 将测试数据封装成对象数组的格式 3. 使用数组的sort()方法和Date对象,将测试数据按照日期从早到晚进行排序 4. 表格数据的静态填充 5. 距离最近考试的倒计时天…...
Mysql--技术文档--悲观锁、乐观锁-《控制并发机制简单认知、深度理解》
阿丹: 首先在谈到并发控制机制的时候,我们通常会提及两种重要的锁策略。悲观锁(Pessimistic Locking)和乐观锁(Optimistic Locking)。这两个是在处理并发的时候采取的不同思路。 悲观锁: 悲观锁…...

【GO】LGTM_Grafana_Tempo(2)_官方用例改后实操
最近在尝试用 LGTM 来实现 Go 微服务的可观测性,就顺便整理一下文档。 Tempo 会分为 4 篇文章: Tempo 的架构官网测试实操跑通gin 框架发送 trace 数据到 tempogo-zero 微服务框架使用发送数据到 tempo 根据官方文档实操跑起来 tempo,中间根…...
git 口令
把当前目录变成 Git 可以管理的仓库: git init 下载一个项目和它的整个代码历史 git clone [url] 切换到 develop 分支: git checkout develop 建立并切换到 new 分支 git checkout -b new 查看所有分支: git branch -a 删除 tese …...
【回眸】剑指offer(二)解题思路
题解 | #数字在升序数组中出现的次数# JZ3数字在升序数组中出现的次数 描述 给定一个长度为 n 的非降序数组和一个非负数整数 k ,要求统计 k 在数组中出现的次数 数据范围:0≤n≤1000,0≤k≤100,数组中每个元素的值满足 0≤val≤100 要求…...
Python 基本文件操作及os库
内置函数文件操作 python内置函数提供了简单的文件操作支持。 open() open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。 语法为: open(file,moder,buffering-1,encodingNone,errorsNone,newlineNone,closefdT…...

YOLOv5算法改进(9)— 替换主干网络之ShuffleNetV2
前言:Hello大家好,我是小哥谈。ShuffleNetV2 是一种轻量级的神经网络架构,适用于移动设备和嵌入式设备等资源受限的场景,旨在在计算资源有限的设备上提供高效的计算和推理能力,它通过引入通道重排操作和逐点组卷积来减…...

三、mycat分库分表
第五章 分库分表 一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业 务将表进行分类,分布到不同 的数据库上面,这样也就将数据或者说压力分担到不同 的库上面,如下图: 系统被切分成了&…...

gitlab提交项目Log in with Access Token错误
目录 报错信息 问题描述 解决方案 报错信息 问题描述 在提交项目到gitlab时,需要添加账户信息 ,但是报了这样一个错,原因应该就是路径问题,我在填写server地址的时候,就出现了路径问题,我把多余的几个/…...

openGauss学习笔记-56 openGauss 高级特性-DCF
文章目录 openGauss学习笔记-56 openGauss 高级特性-DCF56.1 架构介绍56.2 功能介绍56.3 使用示例 openGauss学习笔记-56 openGauss 高级特性-DCF DCF全称是Distributed Consensus Framework,即分布式一致性共识框架。DCF实现了Paxos、Raft等解决分布式一致性问题典…...
Xcode 14 pod init报错
文章目录 1.报错2.解决方法(本人亲测有效) 1.报错 [!] Oh no, an error occurred. Search for existing GitHub issues similar to yours: https://github.com/CocoaPods/CocoaPods/search?q%5BXcodeproj%5DUnknownobjectversion%2856%29.&typeIs…...

飞腾PSPA可信启动--2 数字签名证书
今天继续第二章,数字签名证书的介绍。 此章节录制了讲解视频,可以在B站进行观看:...

微前端:重塑大型项目的前沿技术
引言 随着互联网技术的飞速发展,前端开发已经从简单的页面制作逐渐转变为复杂的应用开发。在这个过程中,传统的前端开发模式已经难以满足大型项目的需求。微前端作为一种新的前端架构模式,应运而生,它旨在解决大型项目中的前端开…...

官方推荐使用的OkHttp4网络请求库全面解析(Android篇)
作者:cofbro 前言 现在谈起网络请求,大家肯定下意识想到的就是 okhttp 或者 retrofit 这样的三方请求库。诚然,现在有越来越多的三方库帮助着我们快速开发,但是对于现在的程序员来说,我们不仅要学会如何去用ÿ…...

Spooling的原理
脱机技术 程序猿先用纸带机把自己的程序数据输入到磁带中,这个输入的过程是由一台专门的外围控制机实现的。之后CPU直接从快速的磁带中读取想要的这些输入数据。输出也类似。 假脱机技术(Spooling技术) 即用软件的方式来模拟脱机技术。要…...
Homebrew 无法安装过时的PHP版本
使用brew安装过时的PHP版本时,提示“Error: php7.4 has been disabled because it is a versioned formula!”错误。 因为过时的PHP版本官方已经不再维护,所以Hombrew将该PHP版本移出了repository,所以安装不了。 解决方案 # 1. 添加tap fo…...

python爬取bilibili,下载视频
一. 内容简介 python爬取bilibili,下载视频 二. 软件环境 2.1vsCode 2.2Anaconda version: conda 22.9.0 2.3代码 链接:https://pan.baidu.com/s/1WuXTso_iltLlnrLffi1kYQ?pwd1234 三.主要流程 3.1 下载单个视频 代码 import requests impor…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...