今天我們來繼續昨天的SSH add-on,想必大家應該都對ssh的功能很熟悉了,我們要來設定如何透過ssh連線至home assistant。
由於ssh要開啟Advanced Option,才能在Add-on store找到它。
再去Add-on store下載Terminal & SSH
我們可以看到authorized_keys還是空白,需要去產出金鑰。
接下來回到本機的terminal,我們要先產生key,然後把公鑰複製到ssh add-on 的configuration中,才可以成功連線。
ssh-keygen -t rsa -b 4096 -C "dogDog"
然後會出現
Generating public/private rsa key pair.
Enter a file in which to save the key (/Users//.ssh/id_rsa): [Press enter]
但我想要把key存在id_rsa_ha 所以輸入/Users//.ssh/id_rsa_ha,
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
如果有需要的話,也可以在為金鑰添加 passphrase,類似多一組密碼,每次使用時都要再輸入此 passphrase。
再來是Adding your SSH key to the ssh-agent
我們要先開始ssh-agent
Start the ssh-agent in the background.
$ eval "$(ssh-agent -s)"
再來是確認一下我們有沒有~/.ssh/config
open ~/.ssh/config
結果我沒有這個檔案,新建一個
touch ~/.ssh/config
在檔案裡面新增
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa_ha //根據自己剛剛把key存在哪個檔案填寫
再來就可以把SSH private key 加到ssh-agent
ssh-add -K ~/.ssh/id_rsa_ha
接下來我們要去找公鑰,把他複製到Home Assistant的SSH add-on
cat id_rsa_ha.pub
把一整段複製下來,回到Home Assistant UI,貼在authorizrd_keys 中括號中間,儲存之後就會變成下圖的樣子,設定密碼之後重啟Home Assistant就可以使用ssh連線了。
ssh root@homeassistant.local
連線成功