iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 7
0
IoT

30天入門智慧家庭系列 第 7

Day7 SSH介紹 SSH Server安裝

SSH

SSH 是一種傳輸的協議,常用於電腦之間的加密登入。SSH 使用的是一對密碼,一個公鑰一個私鑰,訊息透過公開的公鑰加密後傳遞,中途即使其他人可以看到加密後的訊息,但是因為沒有私鑰解密,仍無法知道訊息的內容,最後收到的人再拿私鑰解密,完成一次單方向的傳遞訊息。
若要雙方溝通,則需要兩對密碼,發信的人除了擁有對方的公鑰之外,也要產生另一份公鑰,發送給對方。

SSH Server 安裝

  1. 在 Home Assistant 的 ADD-ON STORE 裡,找到 SSH server 按下 INSTALL 安裝
    https://ithelp.ithome.com.tw/upload/images/20190923/20120058zH0ZsMT13i.jpg
    https://ithelp.ithome.com.tw/upload/images/20190923/201200580TnNsLBmfT.jpg

  2. 安裝完成後,先別急著 START,往下看有個參數需要設定。
    https://ithelp.ithome.com.tw/upload/images/20190923/20120058LpBgNMyYge.jpg

  3. 到電腦上打開 powershell ( 這裡以 windows 10 為例)。ssh-keygen 這個指令目前已經內建在 windows 10 內,如果無法使用這個指令的話,也可以使用 Putty這個軟體建立 SSH 金鑰。

    // 簡單的版本
    ssh-keygen -t rsa
    
    ssh-keygen -t rsa -b 4096 -C "Marcus"
    // -t: SSH金鑰的類型
    // -b: SSH金鑰的長度
    // -C: 金鑰的備註,後面的""裡的內容
    

    keygen

  4. 產生完金鑰後,到 C:\Users\你的電腦名稱.ssh 下找到公鑰: id_rsa.pub,複製到 Home Assistant 的設定裡。
    https://ithelp.ithome.com.tw/upload/images/20190923/20120058Rfe0qYB1Oc.jpg

  5. 把整串包含 "ssh-rsa IFJOSDFNSO.....==你的註解" 複製到 "authorized_keys": ["這裡"],使用""包起來。
    https://ithelp.ithome.com.tw/upload/images/20190923/20120058woHXMsRkMg.jpg
    要注意的是複製後,""要在公鑰的兩側,像下圖多了個換行,會使 SSH Serser 無法執行。
    https://ithelp.ithome.com.tw/upload/images/20190923/2012005899BjqC6X6N.jpg
    https://ithelp.ithome.com.tw/upload/images/20190923/201200580Q9xfc8Agy.jpg

  6. 按下 SAVE 後,重新啟動 Home Assistant。
    https://ithelp.ithome.com.tw/upload/images/20190923/20120058YcGHadfuSm.jpg

  7. 待重新啟動後,再回到終端視窗輸入 "ssh root@hassio.local" 就可以直接進入 Home Assistant囉。
    從 client ( 我們的電腦 ) 第一次用 SSH 連到 server ( Raspberry Pi )的時候,SSH 會印出公鑰指紋碼,並詢問我是否要繼續連線,輸入yes 後,SSH 會把 server 的公鑰存到 client 端的 C:\Users\你的電腦名稱 .ssh\known_hosts 裡,下一次對相同的 Server 連線時,SSH 就不會再次詢問是否要連線。
    https://ithelp.ithome.com.tw/upload/images/20190923/20120058ZTuNZfFMmL.jpg

  8. 這裡我們打上 hassio help 可以看到 hassio 提供的指令。
    像是我們可以透過輸入Hassio Host Reboot 就可以重新啟動 Home Assistant。
    https://ithelp.ithome.com.tw/upload/images/20190923/20120058BFEqwndpHj.jpg

  9. 在命令列打上 exit 或是按下 ctrl+d 就可以跳出 SSH 連接了。
    https://ithelp.ithome.com.tw/upload/images/20190923/20120058o8kw9KsX8f.jpg

小結

今天安裝了 SSH Server 這個 Add-on,提供我們一個更安全的方式連接 Home Assistant,而明天將依賴今天安裝的SSH 為 Home Assistant 裝上 DuckDNS (一個免費提供動態 DNS 的服務),之後就可以透過外網連回家裡的 Home Assistant。


上一篇
Day 6 Home Assistant Configurator
下一篇
Day8 DuckDNS安裝
系列文
30天入門智慧家庭15

尚未有邦友留言

立即登入留言