Obsidian搭配git实现云端同步

Obsidian云端配置

服务端配置

创建一个obsidian用户

1
2
sudo useradd -m obsidian
sudo passwd obsidian

登录obsidian用户
创建仓库和存储笔记的目录

1
2
3
4
5
cd ~
mkdir repo note

cd repo
git init --bare obsidian.git

出现黄色提示字不用管

这样就创建了一个空的远程仓库,需要给仓库和存储笔记的目录i改一些权限

1
2
3
4
5
cd ~
chown $USER:$USER repo
chmod 755 repo
chown $USER:$USER note
chmod 755 note

配置远程仓库的钩子文件(hooks)

1
2
cd ~/repo/obsidian.git/hooks
vim post-receive

post-recveive

1
2
3
#!/bin/bash

git --work-tree=/home/obsidian/note --git-dir=/home/obsidian/repo/obsidian.git checkout -f

同时也要给这个文件一个可执行文件

1
chmod +x ~/repo/obsidian.git/hooks/post-receive

本地配置

打开git bash,并进入笔记的目录中

1
2
3
git init //初始化
git add . //添加到缓存中
git commit -m "first commit" //提交到本地的仓库

1
git remote add origin [远端仓库]

[远端仓库]:obsidian@[ip/DNS]:/home/obsidian/repo/obsidian.git

因为我这里的默认的分支是main,但是远端是master所以需要改一下分支

1
git branch -M master

因为远端的仓库是空的,所以可以直接push

1
git push --set-upstream origin master

这中间会让你输入密码,就是用户obsidian的密码

回到云端服务器查看

1
2
cd ~
ls /note


上传成功

免密码登录(证书登录)

1
ssh-keygen -t rsa

横线的三个地方直接回车即可

在本地的电脑中打开git bash输入一样的命令,同样的操作即可获取密钥

这样在本地的用户目录和服务器用户目录下的都有一份公钥和私钥
Windows
服务端

在服务端复制pub文件为authorized_keys

1
cp id_rsa.pub authorized_keys

打开本地的id_rsa.pub上传到服务端中

1
2
3
cd ~
cat id_rsa.pub >> .ssh/authorized_keys
cat authorized_keys

会有如下两行字符串,这样在pushpull的时候就不需要额外输入密码了


Obsidian搭配git实现云端同步
http://www.ming-ice-tea.top/2025/04/28/Obsidian搭配git实现云端同步/
作者
John Doe
发布于
2025年4月28日
许可协议