树莓派+ubuntu20.04+sftp+内网穿透


前言

        使用树莓派搭建sftp服务器,并实现外网访问功能。主流的一些外网访问方式可能需要vps或者公网ip和域名,实现起来比较麻烦,所以我最终选择 Sakura frp提供的免费内网穿透服务(需要1元实名认证)。


一、准备

以下是我使用的配置

  1. 树莓派4b 4GB
  2. 64GBmicroSD卡

二、给树莓派安装Linux系统

我安装的是ubuntu20.04,一开始使用win32 Disk Imager+SD Card Formatter的方式安装,但是树莓派网络总是断开,使用树莓派官方烧录器后,可以正常使用,推荐使用官方烧录软件
此处参考树莓派安装ubuntu20.04、图形桌面、ROS笔记

1.下载Raspberry Pi Imager

在官网选择适合自己的版本
Raspberry Pi Imager

2.安装运行

双击imager_1.7.3.exe打开安装程序,直接安装就可以
在这里插入图片描述
安装完成
在这里插入图片描述

3.选择SD卡

将SD卡插入读卡器,然后插到电脑上,打开Raspberry Pi Imager
在这里插入图片描述
在这里插入图片描述
这里我的SD卡已经烧录过了,在安装操作系统前需要格式化,不过为了确保SD卡格式正确,建议烧录前都执行一下格式化

4.格式化SD卡

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
完成格式化后先关闭Raspberry Pi Imager,再重新打开一次,以免SD卡格式化后数据未更新

5.选择操作系统

我这里选择的是Ubuntu20.04.5

再次选择SD卡,过程不再赘述
在这里插入图片描述
选择要安装的操作系统
在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述
选择完操作系统后,出现设置选项
在这里插入图片描述

6.配置并烧录

点击设置按钮,设置主机名,开启SSH

在这里插入图片描述
设置用户名和密码,这里的用户名和密码需要记住,登录的时候需要使用
在这里插入图片描述
配置WiFi
在这里插入图片描述在这里插入图片描述

其他选项可以按照自己的需要设置,完成后保存,烧录
在这里插入图片描述
在这里插入图片描述
等待一段时间,烧录完成,关闭Raspberry Pi Imager,并弹出SD卡
在这里插入图片描述

7.ssh连接树莓派

将SD卡插入树莓派,上电自动开机,使用xshell连接树莓派
xshell可以在官网下载免费版本
在这里插入图片描述如果选择Both,就会收到两封邮件,分别是xshell和xftp的下载链接,将下载链接复制到浏览器打开,开始下载安装程序,下载完成后安装即可,安装过程不再赘述
安装完成后,打开xshell,新建
在这里插入图片描述
在这里插入图片描述

如果不知道树莓派的ip可以参考树莓派安装ubuntu20.04、图形桌面、ROS笔记3、登陆树莓派。(但是我通过ping树莓派主机名的方式查询不到)

可以登录到路由器管理界面,固定树莓派的mac地址和ip地址

连接成功后,输入用户名和密码(之前设置的那个)登录到树莓派

在这里插入图片描述
登录成功

8.换国内源

cd /etc/apt
sudo cp sources.list ./sources.list.bak
sudo sed -i  's/ports.ubuntu.com/mirrors.ustc.edu.cn/g' sources.list
sudo apt update
sudo apt upgrade

三、内网穿透

1.安装frpc

使用xshell连接并登录到树莓派,执行以下命令
转移到/usr/local/bin目录下

cd /usr/local/bin

下载安装Sakura frp

sudo wget -O frpc https://getfrp.sh/d/frpc_linux_arm64

更新权限

sudo chmod 755 frpc

2.创建隧道

打开Sakura frp官网,先注册账号
打开管理面板-服务-隧道列表,创建隧道
在这里插入图片描述在这里插入图片描述在这里插入图片描述这里选择推荐SSH使用的节点都可以,我选择枣庄多线2
在这里插入图片描述在这里插入图片描述
隧道类型选择TCP,本地端口选择22,生成访问密码
在这里插入图片描述
创建成功的隧道,这里的隧道ID需要记住
在这里插入图片描述

3.配置systemd

在树莓派终端,新建并打开/etc/systemd/system/frpc@.service文件

sudo vi /etc/systemd/system/frpc@.service

在文件中输入以下内容

[Unit]
Description=SakuraFrp Service
After=network.target

[Service]
Type=idle
User=nobody
Restart=on-failure
RestartSec=60s
ExecStart=/usr/local/bin/frpc -f %i

[Install]
WantedBy=multi-user.target

重载 systemd

sudo systemctl daemon-reload

4.开启隧道

开启隧道的命令格式是(这里的访问密钥不是刚刚的访问密码

sudo systemctl start frpc@访问密钥:隧道ID 

访问密钥可以在sakurafrp的管理面板-用户-用户信息-账号信息-访问密钥中查询

在这里插入图片描述

例如:开启访问密钥为 wdnmdtoken666666 的用户所拥有的 ID 为 12345 的隧道:
systemctl start frpc@wdnmdtoken666666:12345

本文之后将仍然使用frpc@wdnmdtoken666666:12345作为例子
配置开机自启

sudo systemctl enable frpc@wdnmdtoken666666:12345

5.连接sftp

查看隧道日志

journalctl -u frpc@wdnmdtoken666666:12345

在这里插入图片描述
在浏览器输入https://②

例如:①cn-bj-ali-1.sakurafrp.com:59246,②43.249.193.55:59246
在浏览器输入并访问https://43.249.193.55:59246
我使用火狐浏览器访问https://①的形式,但是无法正常访问,使用https://②的形式会提示风险访问,只要忽视风险就可以访问

打开访问认证页面,输入访问密码(创建隧道时生成的),勾选记住我,提交,接下来就可以连接sftp服务了
在这里插入图片描述

四、FileZilla连接测试

建立新站点,选择sftp协议,填写主机和端口,输入用户名和密码,连接

例如:①cn-bj-ali-1.sakurafrp.com:59246
主机为cn-bj-ali-1.sakurafrp.com,端口为59246

在这里插入图片描述连接成功
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青右

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值