Home Assistant に SSH 接続する方法
「Home Assistant に SSH 接続する」には 2 つのレイヤーがあり、これを混同するのが混乱のよくある原因です。Home Assistant OS では、ホストに直接 SSH 接続するのではなく、SSH アドオンをインストールします。これにより Home Assistant 環境に入り、設定を編集したり ha コマンドを実行したりできます。Container/Core/Supervised インストールでは、通常どおり下層の Linux ホストに SSH 接続します。本記事では両方と、スマホからの操作方法を解説します。
Home Assistant OS ── SSH アドオンを使う
- Home Assistant で 設定 → アドオン → アドオンストア を開きます。
- 「Terminal & SSH」(公式)または 「Advanced SSH & Web Terminal」(コミュニティ製、より柔軟)をインストールします。
- アドオンの 設定 タブを開き、パスワードを設定するか、より望ましくは
authorized_keysに SSH 公開鍵を追加します。 - ポートを設定し(advanced アドオンは既定で
22。公式版は Web ターミナル+オプションの SSH を使用)、アドオンを 起動 します。
あとは任意の SSH クライアントから、HA マシンの IP とそのポート、ユーザー名 root(advanced アドオン)で接続します。すると Home Assistant のシェルに入り、/config フォルダがすぐそこにあります。
Container / Core / Supervised ── ホストに SSH 接続する
Home Assistant を Docker で動かしている場合や、自前の Linux マシンに Core でインストールしている場合は、アドオンのレイヤーがありません。通常どおりそのホストに SSH 接続し(ホスト IP、ポート 22、自分のユーザー)、コンテナや config ディレクトリを直接操作します。
スマホから操作する
ここが便利なところです ── ソファの上から、あるいは外出先からスマートホームを直せます。SSH クライアントをインストールし(iPhone の選択肢 / Android の選択肢)、HA の IP とポートへの接続を追加して、接続します。
役立つ Home Assistant の SSH コマンド
ha core check── 再起動の前に設定を検証するha core restart── Home Assistant を再起動するha core logs── ログを追って問題をデバッグするnano /config/configuration.yaml── メインの設定を編集するha su update/ha core update── supervisor / core を更新する
正確な ha サブコマンドを思い出せないときは、やりたいことを TermAI のアシスタントに説明すれば提案してくれます ── スマホからデバッグするときに便利です。
ha core logs -f(または Container ホストでは journalctl -f)でログを追ってオートメーションの発火を見ているとき、TermAI はログストリームモードに切り替わります。ツールバーから、流れを一時停止したり、直近 500 行をエラーと警告を色分けしてフィルタしたり、直近 100 行を AI に渡して「このオートメーションはなぜ失敗したのか?」を素早く判断してもらえます。スマホで HA のログが流れていくのを眺めているよりずっと楽です。
ネットワーク外から Home Assistant に SSH 接続する
外出先から HA に到達するために、SSH ポートをインターネットに転送してはいけません ── スマートホームのハブをさらすことになります。HA マシンとスマホに Tailscale をインストールするか(Home Assistant 用のアドオンがあります)、TermAI 内蔵の Tailscale を使えば、どこからでもプライベートアドレスで Home Assistant に SSH 接続できます。iPhone での Tailscale を参照してください。
よくある質問
なぜ Home Assistant OS に直接 SSH 接続できないのですか?
HA OS はロックダウンされたアプライアンスです。ホストのシェルは日常使用を想定していません。代わりに SSH アドオンが、サポートされた形で Home Assistant 環境へのシェルを提供します。
どのユーザー名を使えばいいですか?
Advanced SSH & Web Terminal アドオンでは root です。Container/Core ホストでは、通常の Linux ユーザーです。
リモートで Home Assistant に SSH 接続するには?
ポート転送ではなく Tailscale(HA 用アドオンがあります)を使い、HA のプライベートアドレスに接続します。
クイックファクト
- HA OS:Terminal & SSH または Advanced SSH アドオンをインストール ── ホストに直接 SSH しない
- Container/Core:下層の Linux ホストに通常どおり SSH 接続
- 主要コマンド:
ha core check、ha core restart、ha core logs - スマホから:任意の SSH クライアント。TermAI が
haコマンドへの AI 支援を追加 - リモートアクセス:ポート転送ではなく Tailscale
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.