如何在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

20221117180912

选择freeFTPD.exe下载

下载后,点击安装

20221117180919

安装之后,它会提示是否启动后台服务,Yes

安装后,点击开始菜单–> freeFTPd,注意:这里要点击鼠标右键,以管理员权限打开freeFTPd,如果以普通用户打开freeFTPd,将无法保存配置

20221117180926

主图口如下,我们看到SFTP状态为未启动。

20221117180931

1.3 启动SFTP服务

选择SFTP,如下图,我们看到当前SFTP状态为Stopping,我们点击start按钮。

20221117180936

状态将变为Running…,如下图。

20221117180941

1.4 添加用户

选择Users选项窗口,点击Add按钮,添加用户。

20221117180947

这里添加一个测试用户aaa,认证方式可以选择WINDOWS验证和密码验证,本例选择独立密码验证。

用户目录,我们为用户单独创建一个SFTP的根目录。

创建好以后,点击Apply按钮保存。

以及别忘了配置SFTP根目录文件夹的目录权限.

20221117180952

1.5 保存所有配置

点击下图Apply & Save按钮。保存所有配置写配置文件。

20221117180958

注意:如果弹出不能写入配置错误窗口,说明您之前是用普通用户启动的freeFTPd,无法保存配置文件。需要以管理员权限重新打开freeFTPd,才能正常写入配置文件。重新执行步骤1,再次保存。

20221117181005

保存后的结果如下图。

20221117181012

2 安装SFTP客户端FileZilla测试

下载地址:https://www.filezilla.cn/

安装后打开,如下图

20221117181019

2.1 配置一个本地SFTP站点

在软件工具栏点击打开站点管理器,如下图。

20221117181025

点击新站点按钮。

20221117181031

我们创建一个新站点,名称随意。

  • 选择协议:为SFTP
  • 服务器IP:因为就是在服务器上,选择127.0.0.1
  • 端口号:选择 22
  • 用户名:为我们搭建sftp服务器时,创建用户,本例为aaa
  • 密码:输入用户aaa的密码

配置好后,点连接按钮。

20221117181038

提示是否保存密码,点击确定。

20221117181044

初次连接时,会提示是否信任该主机,打勾,并确认。

20221117181050

2.2 内网连接测试成功

我们可以看到,已经可以获取到服务器端的目录列表,说明连接成功。

20221117181056

3 使用cpolar内网穿透

前置条件是您已经安装了cpolar,如果没安装,请参考先安装cpolar内网穿透工具。

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

在浏览器上访问cpolar的官网,免费注册一个账号,然后下载并安装windows版本的cpolar内网穿透工具。

20230508152653

cpolar内网穿透安装成功后,我们打开浏览器访问cpolar web UI管理界面:127.0.0.1:9200,使用cpolar邮箱账号登录。

20221117181103

3.1 创建SFTP隧道

选择左边菜单栏隧道管理创建隧道,添加一个新的TCP隧道。

  • 隧道名称:tunnel-sftp (您可以自定义,不重复即可)
  • 协议: TCP
  • 本地地址:22
  • 地区: 本例中选择China Top

点击创建按钮。

20221117181117

隧道列表中,显示了我们刚创建的隧道。

20221117181122

3.2 查看在线隧道列表

本例中,我们获取到的公网地址为 3.tcp.cpolar.top:12284,其中3.tcp.cpolar.top是公网地址,12284是端口号

20221117181128

4. 使用SFTP客户端,连接公网地址测试

4.1 添加新站点

我们打开filezilla,按步骤2的操作方式,重新添加一个新站点
工具栏里,打开站点管理器,添加新站点。

我们这次给站点起名为cpoalr sftp

  • 协议:SFTP
  • 主机: 3.tcp.cpolar.top (本例中可能跟您的不一样,参考在线隧道列表)
  • 端口:12284 (本例中可能跟您的不一样,请参考您的在线隧道列表)

20221117181134

4.2 以公网方式,连接sftp服务器成功

可以看到,已经通过cpolar提供的公网域名,连接SFTP服务器成功。

20221117181140


PS:如果出现中文目录乱码的问题,可以通过在SFTP客户端里配置字符集来解决:

  • 将字符集设置为GBK
  • 【由于目前大多数linux字符集为了通用,以及都改为了UTF-8,而Windows默认字符集为GBK,所以只需要将其将字符集设置GBK,就不会乱码了】

20221117181149

20221117181156

总结:

本例中,我们在windows中搭建了sftp站点,并且在本网测试成功后,又使用cpolar穿透工具,将SFTP站点,变得公网可用。由于本例中使用的是免费套餐,sftp站点的公网地址及端口会在24小时内变化,经常使用会很不方便。建议升级到专业套餐以上,并配置成固定TCP隧道,以获得更好的体验,注专业套餐是免费套餐带宽的3倍。【cpolar目前支持21天退款保证】

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

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

相关文章

1.Python操作txt文本

文章目录 1.Python读取一个txt文件的内容并将其写入到另一个txt文件2.Python读取一个未知编码的文件并将其设置为指定编码格式3.Python实现txt文件中字符串的替换 1.Python读取一个txt文件的内容并将其写入到另一个txt文件 # -*- encoding:gb2312 -*- import chardetdef read_…

Linux命令awk详细用法

简介 awk 是一种强大的文本处理工具,用于在命令行环境下对文件或数据流进行逐行处理和分析。它是由 Alfred Aho、Peter Weinberger 和 Brian Kernighan 在 1977 年开发的,并以他们三人的姓氏命名。awk 在 Unix/Linux 系统中非常常见,也有 Win…

代码随想录算法训练营之JAVA|第四十一天|139. 单词拆分

今天是第 天刷leetcode,立个flag,打卡60天。 算法挑战链接 139. 单词拆分https://leetcode.cn/problems/word-break/ 第一想法 看完之后完全没有想法。 看完代码随想录之后的想法 这是一个完全背包的问题,使用完全背包的解法。 单词就…

leetcode7.整数反转-Java

题目 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 7. 整数反转 - 力扣&a…

栈和队列(优先级队列)

一)删除字符串中所有相邻字符的重复项 1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode) 算法原理:栈结构模拟,只是需要遍历所有字符串中的字符,一次存放到栈里面即可,也是可以使用数组来模拟一个栈结构的: class…

RabbitMQ从原理到实战—基于Golang【万字详解】

文章目录 前言一、MQ是什么?优势劣势 二、MQ的用途1、应用解耦2、异步加速3、削峰填谷4、消息分发 三、RabbitMQ是什么1、AMQP 协议2、RabbitMQ 包含的要素3、RabbitMQ 基础架构 四、实战1、Simple模式(即最简单的收发模式)2、Work Queues 模型3、Publish/Subscribe…

如何查询Oracle的字符集

如何查询Oracle的字符集 很多人都碰到过因为字符集不同而使数据导入失败的情况。这涉及三方面的字符集,一是oracel server端的字符集,二是oracle client端的字符集;三是dmp文件的字符集。在做数据导入的时候,需要这三个字符集都一致才能正确…

Java学习笔记32——字符缓冲流

字符缓冲流 字符流字符缓冲流字符缓冲流的特有功能 IO流小结字节流字符流 字符流 字符缓冲流 BufferedWriter:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入,可以指定缓冲区大小,或者可以接…

C++贪吃蛇(控制台版)

C自学精简实践教程 目录(必读) 目录 主要考察 需求 输入文件 运行效果 实现思路 枚举类型 enum class 启动代码 输入文件data.txt 的内容 参考答案 学生实现的效果 主要考察 模块划分 文本文件读取 UI与业务分离 控制台交互 数据抽象 需求 用户输入字母表示方…

【Flutter】Flutter 使用 video_player 播放视频

【Flutter】Flutter 使用 video_player 播放视频 文章目录 一、前言二、video_player 简介三、安装和配置四、基本使用五、完整示例 六、高级功能七、总结 一、前言 大家好,我是小雨青年,今天我要和大家分享一款非常实用的 Flutter 包——video_player。…

管理类联考——逻辑——形式逻辑——汇总篇——知识点突破——形式逻辑——假言——负/矛盾命题

角度 题干中出现充分条件、必要条件或充分必要条件。提问方式如下: “如果题干信息为真,则以下哪项必然为假(不可能为真、不能成立)?” “以下哪项不符合题干?” “以下哪项能说明题干不成立(最能削弱/反驳题干)?”解题公式: ┐ ( A → B ) = A ∧ ┐ B ┐(A→B)…

学习JAVA打卡第四十七天

日期的格式化 程序可能希望按照某种习惯来输出时间。例如时间的顺序:年/月/日或年/月/日/时/分/秒。可以直接使用String类调用format方法对日期进行格式化。 Format方法 Format方法: format(格式化模式,日期列表) 按照“格式…

git 口令

把当前目录变成 Git 可以管理的仓库: git init 下载一个项目和它的整个代码历史 git clone [url] 切换到 develop 分支: git checkout develop 建立并切换到 new 分支 git checkout -b new 查看所有分支: git branch -a 删除 tese …

微信小程序下载后端返回的文件流

downtest() {let temp {"title": ["排名", "车号", "车队", "车手", "领航", "赛段成绩", "距首车成绩", "距前车差距", "发车时间", "冲刺时间", "赛段…

T8461 ICS TRIPLEX 通过商业编程工具进行离线编辑

T8461 ICS TRIPLEX 通过商业编程工具进行离线编辑 ICS Triplex isa graf及其日本总经销商Nissin高兴地宣布Almega AX-V6焊接机器人获得成功。由国际公认的弧焊电源和工业机器人供应商OTC DAIHEN Corporation制造的Almega机器人以其高速和平稳运动而闻名,可缩短生产…

NameError: name ‘_mysql‘ is not defined

报错信息 Traceback (most recent call last):File "/Users/xuruilong/Desktop/cmabc_back/.enve/lib/python3.9/site-packages/MySQLdb/__init__.py", line 18, in <module>from . import _mysql ImportError: dlopen(/Users/xuruilong/Desktop/cmabc_back/.…

Linux 使用TCP_INFO查询TCP连接的状态信息

Linux 上可以使用TCP_INFO查询TCP连接状态信息包括&#xff1a; 发送方拥塞窗口阈值、发送方缓冲区拥塞窗口、advmss&#xff08;Advertised MSS&#xff09;、通过 ACK 确认的累计字节数等等 struct tcp_info {__u8 tcpi_state;__u8 tcpi_ca_state;__u8 tcpi_retransmits;__…

提高工作效率的一键查询和保存大量快递物流信息的技巧

在如今快速发展的电商行业中&#xff0c;物流服务的准确与便捷是保证顺利交付商品的重要环节。为了方便用户追踪物流&#xff0c;固乔快递查询助手应运而生。这款软件不仅能够快速查询快递单号的物流信息&#xff0c;还具备保存查询结果的功能&#xff0c;方便用户随时查看。 首…

c语言关于指针数组、数组指针、函数指针等的个人理解

指针数组&#xff1a;本身是一个数组&#xff0c;存放的元素类型是指针&#xff0c;例如int*p[10],是一个存放十个int*类型的数据。 数组指针&#xff1a;本身是一个指针&#xff0c;指向的是一个数组&#xff0c;例如int(*p)[10],指向的是一个存放十个int类型的元素的数组。 …

泰迪大数据实训平台产品介绍

大数据产品包括&#xff1a;大数据实训管理平台、大数据开发实训平台、大数据编程实训平台等 大数据实训管理平台 泰迪大数据实训平台从课程管理、资源管理、实训管理等方面出发&#xff0c;主要解决现有实验室无法满足教学需求、传统教学流程和工具低效耗时和内部教学…