Alist如何添加Ubuntu服务器的文件夹,给服务器添加上传SFTP的账号并授予访问权限
因为想要备份服务器数据库到自己家里的服务器,又不想使用root账户来操作,所以我创建了一个新的账户专门用来备份指定的文件夹。这个教程就是用来创建账户、设置密钥登录以及授予指定文件夹权限的教程。
比较基础的Linux(Ubuntu)系统操作。
这个是Alist部署在家里,连接云服务器教程,也就是一台服务器的Alist连接另一台服务器的文件系统
创建账户
我使用宝塔面板创建了一个账户
设置一个用户名和密码,密码以后也用不到,所以可以随便设置。
我这个文章以一个名字叫做“backup_helper”的用户来进行设置。
创建密钥
使用SSH的root用户进行切换到刚才创建的用户
1 | su backup_helper |
生成密钥对
1 | ssh-keygen -t rsa -b 4096 -C "backup_helper@example.com" -f ~/.ssh/id_rsa |
该命令会在 backup_helper 用户的 ~/.ssh/ 目录下生成一个 4096 位的 RSA 密钥对。
-C 参数是用于添加一个注释,通常是该密钥的用途或者与该密钥相关的电子邮件地址。
-f 参数指定私钥的保存路径,这里会保存为 ~/.ssh/id_rsa。
输入完回车需要输入一个密文,用来加密这个密钥对,推荐设置一个,如果不想设置可以直接回车。
确认生成的密钥文件
1 | ls ~/.ssh/ |
检查 ~/.ssh/ 目录,确认已生成两个文件:
id_rsa(私钥)
id_rsa.pub(公钥)
保存私钥
我们登录的时候需要私钥,所以我们需要获取一下。
首先,进入 ~/.ssh 目录,这里通常保存着你的私钥和公钥文件:
1 | cd ~/.ssh |
使用 cat 命令查看你的私钥(默认文件名是 id_rsa):
1 | cat id_rsa |
复制所有的打印内容。
私钥内容通常以以下形式开始:
1 | -----BEGIN OPENSSH PRIVATE KEY----- |
或者:
1 | -----BEGIN RSA PRIVATE KEY----- |
获取完之后确保文件权限,可以执行
1 | chmod 600 id_rsa |
即只有文件所有者可以读取和写入
添加文件夹权限
我需要将需要接入alist的文件夹添加backup_helper用户的读取权限。
在基于 Debian(如 Ubuntu)的系统上,你可以执行以下命令来安装 acl 包:
1 | sudo apt update |
在基于 Red Hat(如 CentOS)的系统上,可以使用以下命令安装 acl 包:
1 | sudo yum install acl |
安装完成后,你就可以使用 setfacl 命令了。
例如我需要设置/www/backup
这个文件夹(宝塔面板备份文件夹)
1 | getfacl /www/backup |
使用递归命令确保文件夹及文件都有权限
1 | sudo setfacl -R -m u:backup_helper:rx /www/backup |
这个命令将递归地为所有文件和子目录授予 backup_helper 用户 读取和执行权限。
添加到Alist
我需要将服务器文件夹接入alist,方便我实现跨设备备份,或者直接备份到网盘等等。
驱动选择SFTP,挂在路径起一个名字,用于显示在Alist中。
然后填写关于服务器的信息。
填写服务器ip和SSH端口号,例如
123.123.444.555:22
(如果没有手动更改SSH端口默认为22端口)填写之前创建的用户名
填写之前的私钥
密语:在生成私钥时设置的密码,如果没有设置密码,则为空
服务器上的文件夹地址
大功告成
成功的将Alist接入到了服务器,现在就可以在家里备份留存在服务器的备份内容啦!
- 数据库备份的目录
- 企业版宝塔的增量备份数据库
- 面板备份目录
- 感谢你赐予我前进的力量