当前位置: 首页 > news >正文

openWRT SFTP 实现远程文件安全传输

在这里插入图片描述

🔥博客主页 小羊失眠啦.
🔖系列专栏 C语言LinuxCpolar
❤️感谢大家点赞👍收藏⭐评论✍️


在这里插入图片描述

文章目录

    • 前言
  • 1. openssh-sftp-server 安装
  • 2. 安装cpolar工具
  • 3.配置SFTP远程访问
  • 4.固定远程连接地址

前言

本次教程我们将在OpenWRT上安装SFTP服务,并结合cpolar内网穿透,创建安全隧道映射22端口,实现在公网环境下远程OpenWRT SFTP,安全地传输文件,比如备份文件、配置文件等。

  • SFTP是一种安全文件传输协议,它基于SSH协议,提供了加密、认证和数据完整性保护的安全文件传输服务。
  • cpolar是一个安全且强大的内网穿透工具,它可以通过安全隧道将NAT或防火墙后面的本地服务器,暴露给公共互联网。用过一段时间后你会发现,它甚至还可以直接在家中实现小型的云服务。

1. openssh-sftp-server 安装

更新包管理器

opkg update

然后安装SFTP 服务

opkg install vsftpd openssh-sftp-server

接下来加入开机启动

/etc/init.d/vsftpd enable

启动

/etc/init.d/vsftpd start

我们打开连接工具,这里以Filezilla 工具为例,填写局域网ip地址,用户名,密码,端口号:22 ,点击连接,即可成功

image-20230524151308028

2. 安装cpolar工具

通过ssh连接操作openwrt,下载公钥:

wget -O cpolar-public.key http://openwrt.cpolar.com/releases/public.key

下载完成后添加公钥

opkg-key add cpolar-public.key

添加cpolar的opkg仓库源

echo "src/gz cpolar_packages http://openwrt.cpolar.com/releases/packages/$(. /etc/openwrt_release ; echo $DISTRIB_ARCH)"  >>  /etc/opkg/customfeeds.conf

更新仓库

opkg update

开始安装cpolar,分别执行下面三个安装命令安装三个包:

opkg install cpolar
opkg install luci-app-cpolar
opkg install luci-i18n-cpolar-zh-cn

安装完成后,打开openwrt Web管理界⾯,我们可以看到有个service,下面即可看到我们cpolar内网穿透

image-20230426172304148

点击进去后即可看到cpolar界面

image-20230426173631379

登录cpolar官网,如果没有注册账号,可以先注册账号,然后点击左侧的验证,查看自己的认证token

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

20230111103532

之后将官网查看的token复制到openwrt cpolar服务界面的Auth Token里,设置后点击保存

image-20230426174954224

保存成功后点击界面里的 打开Web-UI界面 ,即可看到cpolar web ui 界面

image-20230426175417187

使用我们官网注册的账号登陆,登陆后即可对隧道进行管理,安装就完成啦

3.配置SFTP远程访问

浏览器打开cpolar 管理界面,我们点击左侧仪表盘的隧道管理——创建隧道,由于SFTP连接默认的是22端口,因此我们要来创建一条tcp隧道,指向22端口:

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

点击创建

image-20230524154612861

创建成功后我们点击左侧在线隧道列表查看创建的公网地址

image-20230524155044600

我们再次打开连接工具,这里还是以Filezilla 工具为例,填写上面我们看到的ip地址,地址前面加上sftp://,然后输入用户名和密码,端口号输入上面公网地址对应的端口号,点击连接,即可成功

image-20230524160058050

4.固定远程连接地址

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

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

20221118144407

20221118144412

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

image-20230524161954646

在这些信息填入后,点击右侧的“保留”按钮,将cpolar官网后台的隧道固定下来。此时cpolar会生成一个隧道tcp地址端口

image-20230524162054917

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

image-20230524162156952

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

image-20230524162226926

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

image-20230524162548585

我们再次打开连接工具,这里还是以Filezilla 工具为例,填写上面我们固定的ip地址,地址前面加上sftp://,然后输入用户名和密码,端口号输入上面固定公网地址对应的端口号,点击连接,即可成功

image-20230524163010492

转载自cpolar极点云文章:OpenWRT SFTP 远程文件传输
在这里插入图片描述

相关文章:

openWRT SFTP 实现远程文件安全传输

🔥博客主页: 小羊失眠啦. 🔖系列专栏: C语言、Linux、 Cpolar ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 前言 1. openssh-sftp-server 安装2. 安装cpolar工具3.配置SFTP远程访问4.固定远程连接地址 前言 本次教程我…...

麒麟KYLINOS2303版本上使用KDE桌面共享软件

原文链接:麒麟KYLINOS2303版本上使用KDE桌面共享软件 hello,大家好啊,今天给大家推荐一个在麒麟KYLINOS桌面操作系统2303版本上使用KDE桌面共享软件的文章,通过安装KDE桌面共享软件,可以让远程vnc客户端连接访问本机桌…...

H5游戏源码分享-手机捉鬼游戏

H5游戏源码分享-手机捉鬼游戏 一款考验手速的游戏 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><title>手机捉鬼 微信HTML5在线朋友圈游戏</title><meta name&…...

vite中将css,js文件归类至文件夹

build: {chunkSizeWarningLimit: 1500,rollupOptions: {output: {// 最小化拆分包manualChunks(id) {if (id.includes(node_modules)) {return id.toString().split(node_modules/)[1].split(/)[0].toString()}},// 用于从入口点创建的块的打包输出格式[name]表示文件名,[hash]…...

【通信原理】第一章|绪论|信息度量和通信系统的性能指标

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总 绪论 1. 信息和信息的度量 定义信息…...

基于STM32+OneNet设计的物联网智能鱼缸(2023升级版)

基于STM32+OneNet设计的智能鱼缸(升级版) 一、前言 随着物联网技术的快速发展,智能家居和智能养殖领域的应用越来越广泛。智能鱼缸作为智能家居和智能养殖的结合体,受到了越来越多消费者的关注。本项目设计一款基于STM32的物联网智能鱼缸,通过集成多种传感器和智能化控制模…...

NET-MongoDB的安装使用

一&#xff0e;下载 MongoDB 点击 Select package 选择自己所需版本后点击下载&#xff0c;本文选用Windows 6.0版本以上 二、配置MongoDB 在 Windows 上&#xff0c;MongoDB 将默认安装在 C:\Program Files\MongoDB 中。 将 C:\Program Files\MongoDB\Server\version_numbe…...

简化geojson策略

1、删除无用的属性&#xff0c;也就是字段&#xff0c;在shp的时候就给删了 用arcgis等等软件都可以做到 2、简化坐标的小数位数 &#xff08;1&#xff09;网上推荐的办法&#xff0c;俺不会Python… github.com/perrygeo/geojson-precision &#xff08;2&#xff09;曲线…...

一个Binder的前生今世 (二):Binder进程和线程的创建

文章目录 一个Binder的前生今世 (二):Binder进程和线程的创建binder在进程中的启动小结注释一个Binder的前生今世 (二):Binder进程和线程的创建 前篇文章一个Binder的前生今世 (一):Service的创建 讲了一个Service是如何创建以及如何与客户端建立联系的。讲解中涉及到…...

RocketMq源码分析(八)--消息消费流程

文章目录 一、消息消费实现二、消息消费过程1、消息拉取2、消息消费1&#xff09;提交消费请求2&#xff09;消费消息 一、消息消费实现 消息消费有2种实现&#xff0c;分别为&#xff1a;并发消费实现&#xff08;ConsumeMessageConcurrentlyService&#xff09;和顺序消费实现…...

sql--索引使用

最左前缀法则&#xff08;联合索引&#xff09; 联合索引 位置不影响&#xff0c;但是所有索引必须连续使用&#xff0c;才会走索引 中间跳过则会造成后面索引则会失效 索引失效 规避方法---尽量使用> 或 < Explain需要重点关注的字段 Type key_leng possibl…...

alibaba.fastjson的使用(三)-- Map、List ==》JSON字符串

目录 1.使用到的方法为: 2. Map转JSON字符串 3. List转JSON字符串 1.使用到的方法为: static String toJSONString(Object object) 2. Map转JSON字符串 /**...

pycharm 2023.2.3设置conda虚拟环境

分两步&#xff1a; &#xff08;1&#xff09;设置Virtualenv Environment &#xff08;2&#xff09;设值Conda Executable 加载conda环境&#xff0c;然后选择conda环境...

安卓Frida 脱壳

总结下现在脱壳的方法,比如寒冰大佬的Fart,买Nexus 手机,然后刷入肉丝老师的镜像就可以。是比较快速的方式。我今天推荐的方式是,使用Frida 来脱壳,基本上满足日常需求。也不用特别准备手机,脱壳镜像等。 Frida 环境电脑端安装比较简单,主要注意和手机版本相同即可。手机…...

【C】为什么7.0会被存储为6.99999

在《C Primer Plus》第 6 版 3.3.3 节 浮点数的介绍中&#xff0c;作者说浮点数通常只是实际值的近似值&#xff0c;例如&#xff0c;7.0可能被储存为浮点值6.99999。 如果采用32位的IEEE 754浮点表示形式来存储7.0&#xff0c;那么它的二进制表示将如下&#xff1a; 符号位&…...

Framework -- 系统架构

一、前言 framework的学习&#xff0c;需要掌握到什么程度&#xff1f; App 的启动流程&#xff1a;整体的过程&#xff0c;具体到某些类在整个流程中所起的作用&#xff1b;组件的设计模式&#xff0c;核心设计思想&#xff1b;需要知晓目前已知的问题&#xff0c;以及解决方…...

1.1 计算机安全概念

思维导图&#xff1a; 前言&#xff1a; 第1章: 计算机与网络安全概念笔记 1. 学习目标 了解保密性、完整性和可用性的关键安全需求。了解OSI的X.800安全架构。识别和举例说明不同的安全威胁和攻击。掌握安全设计的基本准则。熟悉攻击面和攻击树的使用。了解与密码标准相关的…...

react中的函数柯里化

函数柯里化是一种将接受多个参数的函数转化为一系列接受单一参数的函数的技术。在React开发中&#xff0c;函数柯里化可以帮助我们更好地组织组件的代码&#xff0c;使其具有更好的可读性和可复用性。 一个简单的函数柯里化示例&#xff1a; function add(a) {return functio…...

Unity点乘的实战案例1

向量的点乘,也叫向量的内积、数量积&#xff0c;对两个向量执行点乘运算&#xff0c;就是对这两个向量对应位一一相乘之后求和的操作&#xff0c;点乘的结果是一个标量。点乘&#xff0c;也叫数量积。结果是一个向量在另一个向量方向上投影的长度&#xff0c;是一个标量。 • …...

Hive数据查询详解

本专栏案例数据集链接: https://download.csdn.net/download/shangjg03/88478038 1.数据准备 为了演示查询操作,这里需要预先创建三张表,并加载测试数据。 1.1 员工表 -- 建表语句CREATE TABLE emp(empno INT, -- 员工表编号ename STRING, -- 员工姓名...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...