环境:docker+win10+HACS
问题:在外网手机上远程开关机家中电脑
解决办法:开机:WOL,关机ssh命令
背景:在部署HACS后,便想用HACS中的命令来开关机windows电脑,开机很简单,使用WOL命令即可,关机的话则要在HACS中SSH到windows中执行关机指令
解决过程:关键在于将HACS环境中生成的PUBkey复制到windows authorized_keys 中
效果图:
1.安装homeassistant和HACS:
在docke中安装home assistant略过
2.在windows中安装openssh服务:
2.1 安装openssh服务
直接在添加功能里面搜索即可,参考上一篇文章:
https://blog.csdn.net/wangrui1573/article/details/121711732
2.1 修改openssh配置文件
在C:\ProgramData\ssh\下,打开sshd_config文件
#启用公钥验证和文件
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#注释这两条
#Match Group administrators
#AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
3.在docker的HACS中生成密钥
3.1 进入容器的shell环境,生成密钥:
ssh-keygen -d 4096 -t hacs
3.2 将生成的PUB文件内容复制到windows中
将id_rsa.pub的文件内容复制到下列文件文章来源:https://www.toymoban.com/news/detail-534825.html
C:\Users\你的用户名\.ssh\authorized_keys
3.3 重启openssh服务
4.在HACS 命令行中远程登陆windows
第一次要输入密码,第二次就不用了文章来源地址https://www.toymoban.com/news/detail-534825.html
4.1 修改HACS配置文件并重启服务
switch:
- platform: wake_on_lan
name: "电脑"
mac: "00:e0:70:da:??:52"
host: "192.168.31.??"
broadcast_address: "192.168.31.255"
broadcast_port: "9"
turn_off:
service: shell_command.turn_off_pc
- platform: wake_on_lan
name: "服务器"
mac: "b0:5a:da:??:37:28"
host: "192.168.31.?"
broadcast_address: "192.168.31.255"
broadcast_port: "9"
# 命令
shell_command:
turn_off_pc: "ssh windows用户名@192.168.31.?? shutdown /s /t 0"
到了这里,关于0成本 使用home assistant远程开关机电脑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!