利用Rclone将Onedrive等网盘映射到VPS

1.首先将rclone下载到vps上

curl https://rclone.org/install.sh | sudo bash

2.在Azure控制中心中添加应用、机密和设置应用权限

打开portal.azure.com,在“应用注册”选择“新注册”,填写应用程序名称,选择账户类型,第二项和第三项皆可,在重定向URL中选择”Web”,填入http://localhost:53682/,然后点击注册

然后在左栏中选择“证书和密码”,选择“新客户端密码”,填写说明和截止时间后选择”添加“

然后复制生成的密码,并在左边栏“概述”中复制应用程序(客户端) ID,妥善保存这两串文本

然后在左边栏中选择“API权限”-“添加权限”-选择“Microsoft Graph”-“委托的权限”

然后在权限搜索栏中搜索并勾选如下权限:

Files.ReadFiles.ReadWriteFiles.Read.AllFiles.ReadWrite.Alloffline_accessUser.Read

添加完成之后,选择“代表***授予管理员同意”,在Azure中的配置就结束了。

在ssh客户端中输入:

rclone config

选择”n”,创建新账户,并在name请求中输入你想设定的账户名,然后会跳出来很多网盘选项,我们看到其中28项是

28 / Microsoft OneDrive
\ (onedrive)

所以在storage中选择28

然后需要我们输入客户端ID和密码,就是我们之前保存的,粘贴即可

之后需要我们选择OneDrive的区域,因为笔者使用的是国际版,所以选1

然后会询问是否编辑高级设置,直接按回车就行;

在下一个选项自动配置方面,如果你能够在本地机器上访问远程机器的127.0.0.1(参见外部网络访问vps127.0.0.1),选择y;如果是在远程机器上配置而且没办法使用图形界面的,选择n

下面我们着重介绍n的路线。(y就是打开网页授权即可,n较为复杂)

选择n后,会给出一个命令,复制它

紧接着在rclone官网中下载并解压windows版rclone,在rclone路径中打开命令提示符或PowerShell窗口,这里以PowerShell为例,输入.\,然后粘贴刚才的命令,在弹出的浏览器窗口中完成登录和应用授权操作,看到浏览器跳出成功界面,返回PowerShell窗口

可以看到,生成完毕的代码,复制”Paste the following into your remote machine —>“和“<—End paste”之间的代码,粘贴到VPS的终端窗口中。

会让你选择Onedrive的路径,个人盘选择1就行了

输入y即添加完毕

之后设置完成后,在root文件夹新建一个od文件夹作为挂载点并挂载,就完成了

mkdir -p /root/od
/usr/bin/screen -d -m -S rcmount /usr/bin/rclone mount rclone账户名字: /root/od --allow-other --allow-non-empty --vfs-cache-mode writes

参考文章:

Rclone:玩轉Google Drive & One Drive

OneDrive 挂载为本地磁盘Ubuntu

发表评论