本帖最后由 neroxps 于 2020-9-19 09:46 编辑
事情起因是这样子的:esxi装了hassos想要拿来做智能家居,接入了自己的tesla model3,结果发现GPS定位有偏移,就想着去修改插件源代码来修正偏移,结果找来找去找不到插件的安装位置,百度了一圈也没找到相关的资料(可能是自己的查询姿势不对),最后无奈去homeassistant的开发者网站上逛了逛,惊喜的发现了debugging模式,拿着小学不毕业的英语水平,对照着翻译软件在那边看了许久,终于知道了原来hassos的SSH有两种模式:
先看一眼我的系统的版本,应该是目前最新的:
一、就是直接在addon内安装的openssh插件模式,这种模式取得的SSH权限虽然是root的,但是其实是其中的一个docker容器的权限(hassos的运行模式就是一个主系统,然后插件都是以单独docker容器的形式运行的,我也是最近才知道的),并不是hassos底层系统的权限,所以想要修改插件的代码,这种模式下是没法实现的。
二、第二种模式就是debugging模式,也就是最底层的最高权限的模式,具体的操作方式是:
1.找一个U盘大小随意,然后格式化成FAT,NTFS,EXT4其中一种磁盘格式,然后将磁盘盘符命名为CONFIG,这个CONFIG是区分大小写的;
2.生成SSH用的公钥和私钥,这里的话生成的方式很多,比如putty,或者苹果自带的ssh,就不多做介绍了;3.在刚在的U盘根目录下创建一个authorized_keys名称的文件,这个文件名是没有后缀的,切记;
4.将生成的SHH公钥填入authorized_keys内;这里的坑点是文件的编码格式必须的ANSI,然后结尾符必须的LF,不能是CLF,这里建议直接在MAC系统或者LINUX系统下进行操作,可以避免这个坑点,我自己起初也是在windows下弄得,一直没有成功,后来在mac下一次搞定。
5.将制作好的U盘捅到主机上(具体根据大家自己的硬件情况),因为我是ESXI的,所以还要把U盘分配给虚拟机;
6.然后进入home assistant的web界面,选择Supervisor
然后是System
然后是点那三个小点点,在弹出的窗口内选择import from usb
7.导入完成后,如果不出意外的话Hassos的22222端口就会开放,然后我们就可以使用ssh客户端来进行连接,我这里使用的是xshell,登陆账号root,密码选择Public key,然后选则之前生成的私钥,登陆即可;
熟悉的界面是不是来了,哈哈哈
8.然后就是输入login,就直接是最高的root权限了;剩下的就是最简单的docker操作相关的命令了;
大概流程就是这个样子的,实际操作中可能还会有坑,这个只能大家视情况而定了,我也没有这么多的环境来测试
然后小白第一次发帖,大神们轻喷
|