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

文章目录

  • 前言
  • 一、准备
  • 二、给树莓派安装Linux系统
    • 1.下载[Raspberry Pi Imager](https://www.raspberrypi.com/software/)
    • 2.安装运行
    • 3.选择SD卡
    • 4.格式化SD卡
    • 5.选择操作系统
    • 6.配置并烧录
    • 7.ssh连接树莓派
    • 8.换国内源
  • 三、内网穿透
    • 1.安装frpc
    • 2.创建隧道
    • 3.配置systemd
    • 4.开启隧道
    • 5.连接sftp
  • 四、FileZilla连接测试


前言

        使用树莓派搭建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

在官网选择适合自己的版本
树莓派+ubuntu20.04+sftp+内网穿透_第1张图片

2.安装运行

双击imager_1.7.3.exe打开安装程序,直接安装就可以
树莓派+ubuntu20.04+sftp+内网穿透_第2张图片
安装完成
树莓派+ubuntu20.04+sftp+内网穿透_第3张图片

3.选择SD卡

将SD卡插入读卡器,然后插到电脑上,打开Raspberry Pi Imager
树莓派+ubuntu20.04+sftp+内网穿透_第4张图片
树莓派+ubuntu20.04+sftp+内网穿透_第5张图片
这里我的SD卡已经烧录过了,在安装操作系统前需要格式化,不过为了确保SD卡格式正确,建议烧录前都执行一下格式化

4.格式化SD卡

树莓派+ubuntu20.04+sftp+内网穿透_第6张图片树莓派+ubuntu20.04+sftp+内网穿透_第7张图片树莓派+ubuntu20.04+sftp+内网穿透_第8张图片
树莓派+ubuntu20.04+sftp+内网穿透_第9张图片树莓派+ubuntu20.04+sftp+内网穿透_第10张图片
完成格式化后先关闭Raspberry Pi Imager,再重新打开一次,以免SD卡格式化后数据未更新

5.选择操作系统

我这里选择的是Ubuntu20.04.5

再次选择SD卡,过程不再赘述
树莓派+ubuntu20.04+sftp+内网穿透_第11张图片
选择要安装的操作系统
树莓派+ubuntu20.04+sftp+内网穿透_第12张图片

树莓派+ubuntu20.04+sftp+内网穿透_第13张图片树莓派+ubuntu20.04+sftp+内网穿透_第14张图片树莓派+ubuntu20.04+sftp+内网穿透_第15张图片
选择完操作系统后,出现设置选项
树莓派+ubuntu20.04+sftp+内网穿透_第16张图片

6.配置并烧录

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

树莓派+ubuntu20.04+sftp+内网穿透_第17张图片
设置用户名和密码,这里的用户名和密码需要记住,登录的时候需要使用
树莓派+ubuntu20.04+sftp+内网穿透_第18张图片
配置WiFi
树莓派+ubuntu20.04+sftp+内网穿透_第19张图片树莓派+ubuntu20.04+sftp+内网穿透_第20张图片

其他选项可以按照自己的需要设置,完成后保存,烧录
树莓派+ubuntu20.04+sftp+内网穿透_第21张图片
树莓派+ubuntu20.04+sftp+内网穿透_第22张图片
等待一段时间,烧录完成,关闭Raspberry Pi Imager,并弹出SD卡
树莓派+ubuntu20.04+sftp+内网穿透_第23张图片

7.ssh连接树莓派

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

如果不知道树莓派的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官网,先注册账号
打开管理面板-服务-隧道列表,创建隧道
树莓派+ubuntu20.04+sftp+内网穿透_第27张图片树莓派+ubuntu20.04+sftp+内网穿透_第28张图片树莓派+ubuntu20.04+sftp+内网穿透_第29张图片这里选择推荐SSH使用的节点都可以,我选择枣庄多线2
树莓派+ubuntu20.04+sftp+内网穿透_第30张图片树莓派+ubuntu20.04+sftp+内网穿透_第31张图片
隧道类型选择TCP,本地端口选择22,生成访问密码
树莓派+ubuntu20.04+sftp+内网穿透_第32张图片
创建成功的隧道,这里的隧道ID需要记住
树莓派+ubuntu20.04+sftp+内网穿透_第33张图片

3.配置systemd

在树莓派终端,新建并打开/etc/systemd/system/[email protected]文件

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的管理面板-用户-用户信息-账号信息-访问密钥中查询

树莓派+ubuntu20.04+sftp+内网穿透_第34张图片

例如:开启访问密钥为 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服务了
树莓派+ubuntu20.04+sftp+内网穿透_第35张图片

四、FileZilla连接测试

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

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

树莓派+ubuntu20.04+sftp+内网穿透_第36张图片连接成功
树莓派+ubuntu20.04+sftp+内网穿透_第37张图片

你可能感兴趣的:(树莓派,linux,服务器,ubuntu,arm开发,网络协议)