本地电脑搭建SFTP服务器,并实现公网访问
本地电脑搭建SFTP服务器,并实现公网访问
文章目录
- 本地电脑搭建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 服务器软件
下载地址:freeSSHd and freeFTPd

选择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测试
下载地址:FileZilla中文网 - 免费开源的FTP解决方案
安装后打开,如下图

2.1 配置一个本地SFTP站点
在软件工具栏点击打开站点管理器,如下图。

点击新站点按钮。

我们创建一个新站点,名称随意。 选择协议:为SFTP 服务器IP:因为就是在服务器上,选择127.0.0.1 端口号:选择 22 用户名:为我们搭建sftp服务器时,创建用户,本例为aaa 密码:输入用户aaa的密码
配置好后,点连接按钮。

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

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

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

3. 使用cpolar内网穿透
前置条件是您已经安装了cpolar,我们打开浏览器: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极点云文章:本地电脑搭建SFTP服务器,并实现公网访问
相关文章:
本地电脑搭建SFTP服务器,并实现公网访问
本地电脑搭建SFTP服务器,并实现公网访问 文章目录 本地电脑搭建SFTP服务器,并实现公网访问1. 搭建SFTP服务器1.1 下载 freesshd 服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2. 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内…...
易基因直播预告|细菌微生物基因表达调控表观研究易基因科技
大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 DNA甲基化是在半个多世纪前在细菌中发现的。DNA碱基可以作为一个表观遗传调节因子——也就是说,它可以赋予相同的基因序列不同的和可逆的调控状态。在真核生物中,…...
Flask在线部署ChatGLM2大模型
1、 拉取镜像 docker pull swr.cn-central-221.ovaijisuan.com/mindformers/mindformers_dev_mindspore_2_0:mindformers_0.6.0dev_20230616_py39_372、 新建docker.sh -p 8000:8000 是宿主机映射到镜像8000端口 如果添加–ipchost --nethost 会和-p冲突 # --device用于控制…...
浅谈Vue3——父子组件传值
引言 Vue.js是一款流行的JavaScript框架,用于构建用户界面。它提供了一种简洁、灵活的方式来管理和渲染数据。在Vue3中,父子组件之间的数据传递是一个常见的需求。本文将介绍如何在Vue3中传递对象,并且在子组件中访问和修改父组件对象中的属…...
Wolfram语言之父:ChatGPT到底能做什么? | 阿Q送书第六期
文章目录 那么,ChatGPT到底在做什么?它为什么能做到这些?前方的路为ChatGPT赋予“思想”留言提前获赠书 人类语言及其背后的思维模式在结构上比我们想象的更简单、更“符合规律”。 ChatGPT大火,甚至已经开始改变人类的工作和思考…...
antd a-list 添加分页
会分为三部分 template <a-list item-layout"horizontal" :data-source"localData" :pagination"{...paginationProps,current:currentPage}"><a-list-item slot"renderItem" slot-scope"item"><a-list-ite…...
MySQL注入绕安全狗脚本 -- MySQLByPassForSafeDog,以及端口爆破工具 -- PortBrute配置使用
工具介绍 此Tamper仅仅适用于MySQL数据库,在SQLMap使用过程中添加参数–tamperMySQLByPassForSafeDog。 安装与使用 1、安装网站安全狗Apache最新版 2、启用安全狗,不加MySQLByPassForSafeDog绕狗Tamper: python sqlmap.py -u "http://192.168.…...
R语言绘制热图
1、初步绘图 rm(listls())#clear Global Environment setwd(D:/Desktop/0000/code-main/热图)#设置工作路径#加载R包 library (pheatmap) #读取数据 df <- read.table(file"data.txt",sep"\t",row.names 1, headerT,check.namesFALSE) #查看前3行 hea…...
jmeter线程组 bzm - Concurrency Thread Group 阶梯式压测
简介 bzm - Concurrency Thread Group 不是JMeter的官方插件,而是一种由Blazemeter提供的高级线程组插件,它提供了更灵活的并发性能测试设置。它可以在不同的时间内并发执行不同数量的线程,模拟不同的负载场景。 插件下载地址(jme…...
计算即时订单比例-首单使用开窗函数row_number()
1 需求 即时订单和计划订单 订单配送中,如果期望配送日期和下单日期相同,称为即时订单,如果期望配送日期和下单日期不同,称为计划订单。 请从配送信息表(delivery_info)中求出每个用户的首单(用…...
flink集群与资源@k8s源码分析-集群
0 介绍 本文是flink集群与资源@k8s源码分析系列的第二篇-集群 1 场景 下面详细分析各用例 2 启动k8s集群 k8s集群支持session和application模式,job模式将会被废弃,本文分析session模式集群 Configuration作为配置容器,几乎所有的构建需要从配置类获取配置项,这里不显示…...
商城开发:商城系统的哪些功能值得企业去关注?
电子商务行业的快速发展,企业们越来越重视建设自己的在线商城。选择一个功能强大的商城系统对于企业的成功至关重要。那么,有哪些商城系统的功能值得企业去关注呢? 一、用户体验提升 ①. 响应式设计 移动设备的普及,大部分用户通…...
calibre和cpolar搭建一个私有的网络书库
Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说! 文章目录 Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说!1.网络书库软件下载安装2.网络书库服务器设置3.内网穿透工具设置4.公网…...
c++ nlohmann::json 中文支持
c nlohmann::json 是当前排名第一人库,但是在解析中文时会有问题 std::string to_utf8(std::wstring& wide_string) {static std::wstring_convert<std::codecvt_utf8<wchar_t>> utf8_conv;return utf8_conv.to_bytes(wide_string); }void test_nl…...
vue3 | defineExpose的使用
简介 使用<script setup>的组件是默认关闭的————即通过模板引用或者$parent链获取到的组件的公开实例,不会暴露在任何在<script setup>中声明的绑定 换句话说,如果一个子组件使用的是选项式 API 或没有使用 <script setup>&…...
PaddleSeg学习3——使用PP-LiteSeg模型对道路进行分割
使用PP-LiteSeg模型对道路进行分割 1 准备环境2 样本3 准备config文件4 模型训练5 模型预测5.1 python预测5.2 C++预测5.3 预测结果展示1 准备环境 参考上一篇:Windows PaddleSeg c++部署 2 样本 车道线分割实战的智能车数据集 #标签 背景:0, 0.05 单实线-黄...
时序数据库的关键技术点总结
总结时序数据库的关键技术点 内存 SQL解析LSM Tree(WAL)skiplist内存合并,有序落盘LRU 时序文件索引缓存 存储层 时间分区设备分区 索引文件 时间戳范围索引布隆过滤器索引brin 索引btree 索引多层索引 数据文件(tskv…...
【ROS】机器人使用Nomachine进行远程控制
官网:NoMachine - Free Remote Desktop for Everybody 支持的系统: WindowsMacLinux 树莓派其他ARM板IOSAndroid 由于网速问题,可以使用我下载好的:(8.8.1_1) 链接:https://pan.baidu.com/s/…...
Jmeter系列-定时器Timers的基本介绍(11)
简介 JMeter中的定时器(Timer)是一种重要的元件,用于模拟用户在不同时间间隔内发送请求的场景。通过使用定时器,可以模拟负载、并发和容量等不同情况下的请求发送频率。 使用定时器 可以在取样器下添加定时器,这样定…...
【华为OD机试python】求满足条件的最长子串的长度【2023 B卷|100分】
【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度, 字符串本身是其最长的子串,子串要求: 1、 只包含1个字母(a~z, A~Z),其余必须是数字; 2、 字母可以…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
