docs(deploy): NAS 访问改 key 免密(ssh sanguo-nas),清除 sshpass + 明文 SSH 密码

This commit is contained in:
2026-07-07 07:53:10 +08:00
parent 8ab2acc992
commit 3ee64ae7bb
+14 -17
View File
@@ -42,35 +42,32 @@
## 三、常规迭代(只改代码)— 90% 场景
```bash
# 在 Mac Mini 执行
export SSHPASS='Ccf7561523'
# 在 Mac Mini 执行ssh sanguo-nas 已 key 免密,见 ~/.ssh/config;不用 sshpass
DOCKER="/var/packages/Docker/target/usr/bin/docker"
SRC=~/.openclaw/sanguo_projects/sanguo_vnpy_v2/
DEST=admin@192.168.2.154:~/.sanguo_projects/sanguo_vnpy_v2/
DEST=sanguo-nas:/volume1/homes/admin/.sanguo_projects/sanguo_vnpy_v2/
# 1) 同步代码(已排除数据/缓存)
sshpass -e rsync -avz --delete \
# 1) 同步代码(已排除数据/缓存/配置——配置含部署态密码,不覆盖
rsync -avz --delete \
--exclude='.git' '__pycache__' '*.pyc' '.pytest_cache' \
--exclude='data/' 'logs/' 'temp/' '*.log' '.DS_Store' '.venv/' 'node_modules/' 'config/' \
-e "ssh -o StrictHostKeyChecking=no" \
-e ssh \
"$SRC" "$DEST"
# 2) 重启容器
sshpass -e ssh admin@192.168.2.154 "$DOCKER restart sanguo_vnpy_v2"
ssh sanguo-nas "$DOCKER restart sanguo_vnpy_v2"
# 3) 看日志 + 冒烟
sleep 8
sshpass -e ssh admin@192.168.2.154 "$DOCKER logs --tail 20 sanguo_vnpy_v2"
curl -s http://192.168.2.154:8000/health
curl -s http://192.168.2.154:8000/api/v1/settings/global
ssh sanguo-nas "$DOCKER logs --tail 20 sanguo_vnpy_v2"
curl -s http://192.168.2.154:8000/api/v1/auth/login -X POST \
-H 'Content-Type: application/json' -d '{"username":"admin","password":"<部署态密码>"}'
```
| 验证项 | 期望 |
|--------|------|
| `docker ps` | `Up` |
| `/health` | `{"status":...}` |
| `/api/v1/trades` | `[]` 或数据 |
| `POST /api/v1/auth/login` | 返回 `access_token` |
| `ssh sanguo-nas "$DOCKER ps"` | `Up` |
| `POST /api/v1/auth/login` | 返回 `{"token":...}` |
---
@@ -79,12 +76,12 @@ curl -s http://192.168.2.154:8000/api/v1/settings/global
```bash
# 1) 先同步代码(含新 requirements)到 NAS,同第三节步骤 1
# 2) 在 NAS 重新 build
sshpass -e ssh admin@192.168.2.154 \
"cd ~/.sanguo_projects/sanguo_vnpy_v2 && \
ssh sanguo-nas \
"cd /volume1/homes/admin/.sanguo_projects/sanguo_vnpy_v2 && \
/var/packages/Docker/target/usr/bin/docker build -f docker/Dockerfile -t sanguo_vnpy_v2:latest ."
# 3) 用相同参数重启容器
sshpass -e ssh admin@192.168.2.154 << 'EOF'
ssh sanguo-nas << 'EOF'
D=/var/packages/Docker/target/usr/bin/docker
$D stop sanguo_vnpy_v2 && $D rm sanguo_vnpy_v2
$D run -d --name sanguo_vnpy_v2 --restart unless-stopped \