Termux安装SSH服务与内网穿透工具实现远程SFTP传输文件

文章目录

    • 前言
    • 1. 安装openSSH
    • 2. 安装cpolar
    • 3. 远程SFTP连接配置
    • 4. 远程SFTP访问
    • 4. 配置固定远程连接地址

前言

本教程主要介绍如何在安卓 Termux 系统中使用 SFTP 文件传输并结合[cpolar内网穿透工具](cpolar - 安全的内网穿透工具)轻松实现无公网IP远程传输,无需购买域名与服务器。

SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了加密和身份验证机制来保护数据的安全性和完整性,可以在不安全的网络中传输文件,因此更加安全可靠。

1. 安装openSSH

使用SFTP 我们首先需要安装SSH ,输入命令直接安装openssh,中途会出现一次需要输入:Y 然后继续安装

pkg install openssh

启动ssh,开放端口默认为8022

sshd

查看用户名

whoami

可以看到用户名为u0_a42,这个需记住!!!

image-20230609140951106

修改密码,输入下面命令:,输入后提示输入新密码,按要求输入即可呢,这样我们openSSH 安装完毕

passwd

image-20230509135850913

2. 安装cpolar

创建一个sources.list.d的文件夹:

mkdir -p $PREFIX/etc/apt/sources.list.d

添加cpolar下载源文件

echo "deb [trusted=yes] http://termux.cpolar.com termux extras" >> $PREFIX/etc/apt/sources.list.d/cpolar.list

更新仓库

pkg update

安装cpolar

pkg install cpolar

安装termux服务,注意: 安装完成后记得关闭重启一下termux 才生效!!

pkg install termux-services

重启完termux后,然后启动cpolar

sv up cpolar

设置开机自启

sv-enable cpolar

这个是停止cpolar 服务

sv down cpolar

cpolar.yml主配置文件路径位置

$PREFIX/etc/cpolar/cpolar.yml

然后在手机浏览器我们输入http://localhost:9200即可看到cpolar管理界面,使用cpolar官网注册的账号即可登陆

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

image-20230509155942139

3. 远程SFTP连接配置

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

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

点击创建

image-20230609144608727

创建好后打开在线隧道列表,查看生成的随机公网tcp地址

image-20230609144634409

4. 远程SFTP访问

我们打开任意SFTP 客户端工具,选择SFTP,输入我们在cpolar中创建的公网地址和对应的端口,再输入用户名密码,即可访问成功(本文章以winSCP为例,其他客户端同理)

image-20230609151418685

连接后我们选择usr目录,即可看到列出来了usr下面的目录,连接成功

image-20230609151537934

4. 配置固定远程连接地址

要注意的是,以上步骤使用的是cpolar的随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。

配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。

保留一个固定tcp地址

登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为我的世界保留一个固定tcp地址:

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

image-20230609152730361

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

image-20230609152806010

配置固定tcp地址,回到在手机浏览器上cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的tcp隧道,点击右侧的编辑

image-20230609152911630

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写官网保留成功的地址,

点击更新

image-20230609152948909

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定tcp地址。

image-20230609153030167

上面我们设置固定好了cpolar 中配置的Termux SFTP文件远程访问的公网地址,现在我们使用SFTP客户端工具进行测试连接,

image-20230609153210972

同样,列出文件列表,表示远程访问成功,这样,我们一个固定SFTP访问Termux中文件的公网地址就设置好了.

image-20230609153358359

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

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

相关文章

ATFX汇市:加拿大央行或启动首次降息,关注加元贬值风险

ATFX汇市:今日21:45,加拿大央行将公布6月份利率决议结果,当前的基准利率为5%,市场普遍预期其将降息25基点,最新基准利率有可能调降至4.75%。市场人士预期降息的主要依据有两点,其一是加拿大央行行长麦克勒姆…

超级详细Spring AI运用Ollama大模型

大模型工具Ollama 官网:https://ollama.com/ Ollama是一个用于部署和运行各种开源大模型的工具; 它能够帮助用户快速在本地运行各种大模型,极大地简化了大模型在本地运行的过程。用户通过执行几条命令就能在本地运行开源大模型,如Lama 2等; 综上&#x…

PostgreSQL的内存结构

PostgreSQL的内存结构 PostgreSQL 是一个复杂而功能强大的数据库管理系统,其内存结构对于性能和稳定性至关重要。了解 PostgreSQL 的内存管理,可以帮助我们进行数据库调优和故障排查。 内存结构概述 PostgreSQL 的内存结构主要分为三部分:…

每日十题---四

1. 6.5 js 第八题 以下代码的输出结果是 1 2 3 4 var f function g() { return 23; }; typeof g(); 答: 首先声明函数有两种,一种是函数声明,一种是表达式声明。这里就是表达式声明,所以声明之后,只能使用 f(…

SpringBoot:SpringBoot中使用Redisson实现分布式锁

一、前言 Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。 刚好项目中需要使用到分布式锁,记录一下Redisson是如何使用分布式…

Day1——一些感想,学习计划和自我激励(不重要,跳过吧)

笨人刚刚接触计算机的时候,属于是两眼一抹黑。高考后玩了一整个暑假,脑子已经丢掉了,学起来很痛苦,但是也在学习过程中接触到了很多新鲜的东西,现在对于计算机的各种方向,我都很想试试(试试就逝…

(免费领源码)Java#springboot#MySQL书法社团管理系统36200-计算机毕业设计项目选题推荐

目 录 摘要 Abstract 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2 书法社团管理系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析…

SqlServer2016企业版安装

前言 好久没有知识的累积,最近工作上遇到新的SqlServer2016安装,记录一下 参考文章 SQL Server 2016软件安装包和安装教程 - 哔哩哔哩 (bilibili.com) 安装包准备 需要提前准备软件安装包如下 cn_sql_server_2016_enterprise_x64_dvd_8699450&…

【文档智能】符合人类阅读顺序的文档模型-LayoutReader原理及权重开源

引言 阅读顺序检测旨在捕获人类读者能够自然理解的单词序列。现有的OCR引擎通常按照从上到下、从左到右的方式排列识别到的文本行,但这并不适用于某些文档类型,如多栏模板、表格等。LayoutReader模型使用seq2seq模型捕获文本和布局信息,用于…

如何使用 DANN 改进神经网络

文章目录 一、说明二、语言模型真的理解语言吗?三、了解分配转变3.1 样本选择偏差3.2 非静止环境3.3 领域适配挑战3.4 概念漂移 四、对领域对抗训练的介绍 一、说明 由于其多功能性,神经网络是大多数现代机器学习管道的主要内容。他们处理非结构化数据的…

【Visual Studio 2022 部署 .net core website】

部署网站 AdminPortal.csproj false Website File Nameappsettings.jsonAdminPortal.deps.jsonAdminPortal.runtimeconfig.json–web.configAPI.runtimeconfig.json

大模型知识总结

大模型知识总结 重点论文 论文列表:https://zhuanlan.zhihu.com/p/622541777 gpt2: Language Models are Unsupervised Multitask Learners gpt3: Language Models are Few-Shot Learners openai-RHLF(gpt-3.5): Training language models to follow instructio…

idea 中:运行 Application 时出错。命令行过长

一、问题描述: idea 导入新项目,在编译后,运行项目时,报以下错误: 14:47 运行 Application 时出错运行 Application 时出错。命令行过长。通过 JAR 清单或通过类路径文件缩短命令行,然后重新运行。二、问题…

出现TypeError: ‘int‘ object is not callable 的解决方法

目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 执行代码的时候出现如下问题: Traceback (most recent call last):File "train.py", line 179, in <module>train(args, model, optimizer)File

GUI guider 常用函数解析

GUI Guider 是 NXP 提供的用于设计和生成 LittlevGL (LVGL) 用户界面的工具。它生成的代码包括初始化、事件处理和其他相关功能。以下是一些常用的 GUI Guider 函数及其介绍&#xff1a; 1. void setup_scr_<screen_name>(lv_ui *ui) 描述: 初始化并设置指定的屏幕。 参…

扩展 Kafka 集群从三台节点到四台节点的过程

扩展 Kafka 集群从三台节点到四台节点的过程可以分为以下几个步骤。这个过程需要同时配置 Kafka 和 ZooKeeper&#xff0c;确保新的节点能够无缝地加入集群。 目录 步骤 1: 安装并配置 Kafka 和 ZooKeeper步骤 2: 配置并启动新的 Kafka 节点步骤 3: 更新集群元数据步骤 4: 更新…

Linux前端与Windows前端区别:深入剖析两大系统的前端差异

Linux前端与Windows前端区别&#xff1a;深入剖析两大系统的前端差异 在前端开发的领域中&#xff0c;Linux和Windows两大操作系统各自拥有着独特的优势和特点。对于开发者而言&#xff0c;理解并把握这些差异&#xff0c;将有助于更高效地选择适合自己的开发环境&#xff0c;…

element ui 实现 分步表单

方法一&#xff1a; <template><div class"main-container"><el-card :body-style"{ padding: 20px }" shadow"hover"><el-steps:active"activeStep"align-centerfinish-status"success"class"s…

大型语言模型智能体(LLM Agent)在实际使用的五大问题

在这篇文章中&#xff0c;我将讨论人们在将代理系统投入生产过程中经常遇到的五个主要问题。我将尽量保持框架中立&#xff0c;尽管某些问题在特定框架中更加常见。 1. 可靠性问题 可靠性是所有代理系统面临的最大问题。很多公司对代理系统的复杂任务持谨慎态度&#xff0c;因…

filter实现模糊查询通用案例

文章目录 一、使用步骤1. 创建模糊过滤函数2. 使用场景3. 模糊搜索算法 一、使用步骤 1. 创建模糊过滤函数 filterFuzzy(input, arr) {// 创建模糊搜索正则表达式const pattern new RegExp(input.toLowerCase().replace(/ /g, |).replace(/\\*/g, .{3,}), i);// 过滤数组返回…