You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SCP向树莓派Home Assistant传文件成功后文件消失是何原因

问题根因

这个异常是Home Assistant OS(原HassIO)的官方SSH/Web Terminal插件的沙箱隔离机制导致的,和常规Linux服务器的SSH运行逻辑有区别:

  • 你手动执行ssh命令发起交互式登录时,插件会自动执行chroot操作,把会话切换到HA的主运行环境,此时你看到的~路径实际是HA系统内的/root目录,手动执行echo创建文件能正常写入、查看,就是因为处于这个chroot后的环境里。
  • 但默认配置下,SCP/SFTP走SSH通道建立传输会话时,不会触发上述自动chroot逻辑,传输的文件会被写入SSH插件自身独立沙箱的家目录中,这个沙箱和你交互式登录看到的文件系统完全隔离,自然就会出现「终端显示传输100%成功,登录后找不到文件」的情况。
解决方法

你可以根据自己的需求选下面任意一种方案:

  • 直接指定HA持久化目录作为传输目标(最推荐,不需要改配置)
    HA的/root目录属于临时存储,系统重启后文件会被清空,日常传文件建议直接指定做了持久化挂载的目录作为SCP目标,不需要走~路径映射,比如要传到配置目录的命令如下:
    scp local_file.txt hassio@homeassistant.local:/config/
    
    常用的持久化目录包括/config(HA核心配置目录)、/share(跨插件共享目录)、/media(媒体文件目录)、/backup(备份目录),传到这些位置的文件重启也不会丢失。
  • 开启插件的SCP兼容模式
    如果你确实需要用~路径传输、让SCP会话和交互式SSH会话的路径保持一致,可以打开Home Assistant的UI面板,找到「SSH & Web Terminal」插件的配置页,勾选配置项里的Enable SCP选项,保存配置后重启插件,之后再执行SCP传输就会自动触发chroot逻辑,传到~/的文件就能在交互式登录的家目录里看到了。

注意:不要把需要长期留存的文件传到/root目录,HA系统更新、重启都会清空这个目录下的自定义内容。

内容的提问来源于stack exchange,提问作者kramer65

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 19:03:32