本帖最后由 fay000fay 于 2025-5-16 14:20 编辑
🧾 教程:使用 command_line 平台控制 NAS 里的Docker 容器开/关(以youtube-dl-nas这个容器为例)
(PS:本人的ha是安装在PVE的虚拟机中,飞牛NAS也是PVE虚拟机)
(以下所有SSH命令均在ha的terminal & SSH 插件下输入执行)
✅ 1. 在 Home Assistant 中生成 SSH 密钥并配置免密登录
1. 打开 Home Assistant 的 **Terminal & SSH** 插件,执行以下命令生成密钥:
一路回车,会生成: 私钥:/root/.ssh/id_rsa 公钥:/root/.ssh/id_rsa.pub
2.将公钥拷贝到 NAS 上对应用户(如 admin)的 ~/.ssh/authorized_keys 中:
cat /root/.ssh/id_rsa.pub
登录 NAS,执行:
mkdir -p ~/.ssh
vi ~/.ssh/authorized_keys # 粘贴内容保存
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
✅ 2. 将私钥复制到 Home Assistant 的 /config/ssh/ 目录
mkdir -p /config/ssh
cp /root/.ssh/id_rsa /config/ssh/id_rsa
chmod 600 /config/ssh/id_rsa
✅ 3. 在 configuration.yaml 添加 command_line 开关
command_line:
- switch:
name: youtube-dl-nas-switch
command_on: '/usr/bin/ssh -i /config/ssh/id_rsa -o StrictHostKeyChecking=no [email protected] "docker start youtube-dl-nas"'
command_off: '/usr/bin/ssh -i /config/ssh/id_rsa -o StrictHostKeyChecking=no [email protected] "docker stop youtube-dl-nas"'
command_state: '/usr/bin/ssh -i /config/ssh/id_rsa -o StrictHostKeyChecking=no [email protected] "docker inspect -f {{.State.Running}} youtube-dl-nas"'
value_template: "{{ value == 'true' }}"
✅ 5. 效果展示
💡 注意事项
|