Docker安装的HomeAssistant使用Samba共享配置目录,但Win11/10有时无法正常访问无密码的Samba共享。
# 以管理员身份运行PowerShell
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Win+R 打开运行对话框,输入 gpedit.msc计算机配置 > Windows设置 > 安全设置 > 本地策略 > 安全选项网络安全: LAN Manager身份验证级别 设置为 发送LM和NTLM响应网络安全: 对于NTLM SSP(包括安全RPC)的最小会话安全 设置为 无要求# 以管理员身份运行cmd
reg add HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f
reg add HKLM\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f
reg add HKLM\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters /v EnableSecuritySignature /t REG_DWORD /d 0 /f
控制面板 > 用户账户 > 凭据管理器Windows凭据添加Windows凭据\\你的服务器IPguest由于compose-all.yaml文件不能修改,我们通过Windows客户端配置来解决访问问题:
方法A:自动修复脚本(最推荐)
我们提供了一个PowerShell自动修复脚本,可以一键完成所有配置:
http://datacdn.data-it.tech/HomeAssistant/tools/fixwindows.ps1
fixwindows.ps1curl -o fixwindows.ps1 http://datacdn.data-it.tech/HomeAssistant/tools/fixwindows.ps1
将脚本保存到本地(如c盘的根目录)
右键点击脚本,选择"使用PowerShell运行"
选择"以管理员身份运行"
# 如果提示禁止运行脚本,请先执行如下指令后,再以管理员身份运行
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
#然后再运行脚本
.\fixwindows.ps1
使用方法:
```powershell
.\fixwindows.ps1
.\fixwindows.ps1 -ServerIP "192.168.1.100"
.\fixwindows.ps1 -ServerIP "192.168.1.100" -ShareName "HAConfig" -DriveLetter "Z"
```
脚本功能:
方法B:通过映射网络驱动器
\\你的服务器IP\HAConfigguest,密码留空方法C:通过命令行强制连接
以管理员身份运行cmd,执行:
net use \\你的服务器IP\HAConfig "" /user:""
方法D:修改Windows本地组策略
gpedit.msc计算机配置 > Windows设置 > 安全设置 > 本地策略 > 安全选项网络安全: 对匿名SID/名称翻译的限制 设置为 无网络访问: 不允许SAM账户的匿名枚举 设置为 已禁用在HomeAssistant主机上确保SSH服务已启动:
# 检查SSH服务状态
sudo systemctl status ssh
# 如果未启动,启用并启动SSH
sudo systemctl enable ssh
sudo systemctl start ssh
在VSCode中安装以下扩展:
- Remote - SSH
- Remote - SSH: Editing Configuration Files
Ctrl+Shift+P 打开命令面板Remote-SSH: Connect to HostConfigure SSH HostsC:\Users\用户名\.ssh\config)Host homeassistant
HostName 你的HomeAssistant服务器IP
User dtuser
Port 22
Ctrl+Shift+PRemote-SSH: Connect to Hosthomeassistant/home/dtuser/opt/ha/config如果VSCode SSH有问题,可以使用SFTP客户端:
连接信息:
最佳实践组合:
这样既不需要修改compose文件,又提供了自动化和手动的多种访问方式。
docker restart sambasudo systemctl status sshchmod 600 ~/.ssh/id_rsa# 测试端口连通性
telnet 服务器IP 445 # Samba
telnet 服务器IP 22 # SSH
重要提醒
任何对HomeAssistant中的配置文件的更改,都需要重启HomeAssistant才能生效。