『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 65370|回复: 70

[进阶教程] Hassio下使用SSH远程开关Linux/Mac

  [复制链接]

13

主题

148

帖子

1071

积分

金牌会员

Rank: 6Rank: 6

积分
1071
金钱
923
HASS币
0
发表于 2019-11-21 01:21:52 | 显示全部楼层 |阅读模式
本帖最后由 549876099 于 2022-3-21 04:22 编辑

游客,如果您要查看本帖隐藏内容请回复

Hassio 有 RPC 插件可以很方便的关闭 Windows 主机,但是在配置 Unix 系统的关闭时遇到较多坑。

Error running command:"", return code: 255

看以前的教程会遇到上述错误,以下教程解决了这个问题。

一、配置 Unix 端(被控主机)无密码运行 sudo shutdown

1.修改sudoers文件

1)首先,找到shutdown的路径

$ which shutdown

通常位于/sbin/shutdown

2)打开visudo

$ sudo visudo

3)在文件底部填下如下内容

USERNAME ALL=NOPASSWD: PATH_TO_EXECUTABLE
  • 替换USERNAME为实际使用的账户(可使用whoami查询)
  • 替换PATH_TO_EXECUTABLE为第一步中获取到的路径

一个例子

garry ALL=NOPASSWD: /sbin/shutdown

2.执行命令

由于shutdown仍然是特权命令,因此仍然需要在命令开头加上sudo。

但是,指定用户执行该命令已不需要输入密码。

$ sudo shutdown -r now

*.对于喜欢冒险的人

可将以下内容放在sudoers文件的底部:

USERNAME ALL=NOPASSWD: ALL

上面的代码可以取消所有命令对于 sudo 的密码需求,请谨慎使用。

二、配置 SSH 无密码登陆

1. Hassio 主机生成用于免密登陆的密钥

HassioAdd-on Store中安装SSH server。注意,若 Hassio 是安装在 Ubuntu 系统中,不能使用 Ubuntu 的 SSH,必须连接到容器内部,启动 SSH server时请注意端口冲突问题。

密钥不能生成在默认目录,新建文件夹

$ mkdir /config/.ssh

创建 key

$ ssh-keygen -t rsa

储存位置输入

/config/.ssh/id_rsa

不要输入密码

2.被控端创建存储密钥的文件夹

若该文件夹已经存在,请跳到下一步

$ mkdir -p .ssh

3.将密钥传输到被控端

Hassio中执行以下命令

$ cat /config/.ssh/id_rsa | ssh UNIX_USERNAME@UNIX_IP 'cat >> .ssh/authorized_keys'

4.现在可以在Hassio免密登录Unix

$ ssh -i /config/.ssh/id_rsa UNIX_USERNAME@UNIX_IP

三、配置 Homeassistant

configuration.yaml中添加如下配置,网络唤醒部分请另行配置。

shell_command:
  unix_off: ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i /config/.ssh/id_rsa UNIX_USERNAME@UNIX_IP sudo /sbin/shutdown now
switch:
  - platform: wake_on_lan
    mac_address: "UNIX_MAC"
    host: UNIX_IP
    name: "unix"
    turn_off:
      service: shell_command.unix_off

四、参考:

1.How to run privileged (sudo) commands without the password
2.SSH login without password
3.Hass.io shell_command error


评分

参与人数 2金钱 +40 收起 理由
jyz_0501 + 20 厉害了word楼主!
+ 20 厉害了word楼主!

查看全部评分

回复

使用道具 举报

0

主题

4

帖子

66

积分

注册会员

Rank: 2

积分
66
金钱
62
HASS币
0
发表于 2025-1-13 10:26:01 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

1

帖子

26

积分

新手上路

Rank: 1

积分
26
金钱
25
HASS币
0
发表于 2025-1-12 16:16:37 | 显示全部楼层
xiexie
回复

使用道具 举报

0

主题

13

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
119
HASS币
0
发表于 2024-12-22 23:35:50 | 显示全部楼层
thx................
回复

使用道具 举报

0

主题

3

帖子

46

积分

新手上路

Rank: 1

积分
46
金钱
43
HASS币
0
发表于 2024-12-20 23:52:21 | 显示全部楼层
前来学习
回复

使用道具 举报

0

主题

21

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
金钱
214
HASS币
0
发表于 2024-12-7 17:39:05 | 显示全部楼层
看看,赞一个
回复

使用道具 举报

0

主题

17

帖子

86

积分

注册会员

Rank: 2

积分
86
金钱
69
HASS币
0
发表于 2024-11-30 14:13:53 | 显示全部楼层
防晒服是
回复

使用道具 举报

0

主题

8

帖子

118

积分

注册会员

Rank: 2

积分
118
金钱
110
HASS币
0
发表于 2024-9-1 21:51:24 | 显示全部楼层
一直255,看看为什么
回复

使用道具 举报

0

主题

22

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
金钱
192
HASS币
0
发表于 2024-8-7 11:19:25 | 显示全部楼层
谢谢大佬
回复

使用道具 举报

0

主题

28

帖子

177

积分

注册会员

Rank: 2

积分
177
金钱
149
HASS币
0
发表于 2024-8-2 15:46:30 | 显示全部楼层
学习一下!!!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-2-2 22:33 , Processed in 0.058274 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表