本教程主要介绍如何在安卓 Termux 系统中使用 SFTP 文件传输并结合[cpolar内网穿透工具](cpolar - 安全的内网穿透工具)轻松实现无公网IP远程传输,无需购买域名与服务器。
SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了加密和身份验证机制来保护数据的安全性和完整性,可以在不安全的网络中传输文件,因此更加安全可靠。
使用SFTP 我们首先需要安装SSH ,输入命令直接安装openssh,中途会出现一次需要输入:Y 然后继续安装
pkg install openssh
启动ssh,开放端口默认为8022
。
sshd
查看用户名
whoami
可以看到用户名为u0_a42
,这个需记住!!!
修改密码,输入下面命令:,输入后提示输入新密码,按要求输入即可呢,这样我们openSSH 安装完毕
passwd
创建一个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
手机浏览器打开cpolar 管理界面,我们点击左侧仪表盘的隧道管理——创建隧道,由于ssh连接默认的是8022端口,因此我们要来创建一条tcp隧道,指向8022端口:
点击创建
创建好后打开在线隧道列表,查看生成的随机公网tcp地址
我们打开任意SFTP 客户端工具,选择SFTP,输入我们在cpolar中创建的公网地址和对应的端口,再输入用户名密码,即可访问成功(本文章以winSCP为例,其他客户端同理)
连接后我们选择usr目录,即可看到列出来了usr下面的目录,连接成功
要注意的是,以上步骤使用的是cpolar的随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。
配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。
保留一个固定tcp地址
登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为我的世界保留一个固定tcp地址:
点击保留
地址保留成功后,系统会生成相应的固定公网地址,将其复制下来
配置固定tcp地址,回到在手机浏览器上cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的tcp隧道,点击右侧的编辑
修改隧道信息,将保留成功的固定tcp地址配置到隧道中
点击更新
隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定tcp地址。
上面我们设置固定好了cpolar 中配置的Termux SFTP文件远程访问的公网地址,现在我们使用SFTP客户端工具进行测试连接,
同样,列出文件列表,表示远程访问成功,这样,我们一个固定SFTP访问Termux中文件的公网地址就设置好了.