ドキュメント
クイックスタート + 機能・デバイスごとの解説(随時更新中)
対応システムとディストリビューション
本記事では、SSH Everywhere が管理に対応する Linux ディストリビューション、デバイス、システム、およびシステムごとの機能完全性の違いについて説明します。
ひとことで理解
SSH Everywhere の中核は SSH 接続 + コマンドの遠隔実行であるため、SSH サービス(sshd)がインストールされている Linux ならどれでも接続できます。ただし機能の完全性は階層に分かれており、対象マシンに systemd があるか、python3 があるか、どのパッケージマネージャーを使っているかによって決まります。
階層別の対応状況
✅ 第 1 層:完全対応(推奨、すべての機能が利用可能)
主要な systemd ディストリビューション。以下の機能がすべて利用できます:ヘルスチェック、クラッシュ防止(systemd による起動時の自動開始 + クラッシュ時の自動起動)、トンネル Agent、Docker 管理、ファイル管理、プロセス管理、スケジュールタスク、サイト管理。
| ディストリビューション | パッケージマネージャー | 説明 |
|---|---|---|
| Debian / Ubuntu(Raspberry Pi の Raspbian を含む) | apt | 最も推奨、互換性が最良 |
| CentOS / RHEL / Rocky / AlmaLinux | yum / dnf | サーバーの主流 |
| Fedora | dnf | 比較的新しい |
| Arch / Manjaro | pacman | ローリングリリース |
| openSUSE | zypper |
✅ 第 2 層:ほぼ完全、クラッシュ防止のみ起動時の自動開始なし
systemd を持たない軽量ディストリビューション。クラッシュ防止は自動的に nohup 方式にフォールバックして動作します(監視は正常に行えますが、再起動後にデーモンが自動起動しません)。その他の機能は正常です。
| ディストリビューション | パッケージマネージャー | 説明 |
|---|---|---|
| Alpine | apk | 超軽量(busybox + musl)、トンネル Agent のインストールは apk に対応済み |
✅ 第 3 層:特殊対応(従来の Linux 以外も利用可能)
| システム | 対応程度 |
|---|---|
| Android / Termux | 専用のワンクリックインストールスクリプト(Agent の自動インストール + Termux の起動に追従)、ヘルスチェックでデバイス型番 / Android バージョンを識別可能 |
| FreeBSD | ヘルスチェックに専用の分岐あり(freebsd-version / sysctl / vm_stat)が、Docker や systemd 関連の機能は対象外 |
| macOS | 接続可能、ヘルスチェックも識別可能(sw_vers / vm_stat)が、主にテスト機として |
2 つの必須依存条件
1. python3:クラッシュ防止デーモンとトンネル Agent は、対象マシンに python3 があることを要求します。主要なディストリビューションのほとんどは標準で搭載しているか、ワンクリックでインストールできます。
2. パッケージマネージャー:トンネル Agent の依存関係インストールスクリプトは apt / yum-dnf / apk の 3 種類に対応しています。その他のパッケージマネージャー(pacman、zypper)を使うディストリビューションでは、Agent の暗号化依存関係を手動でインストールする必要がある場合があります——インストールしなくても通常どおり使用でき、トンネルが平文モードになるだけです。
あるサーバーがどの層に属するかを判断する方法
パネルに接続したら、そのサーバーの「システム管理パネル」を開き、いくつかの重要なシグナルを確認します:
| シグナル | 説明 |
|---|---|
| ヘルスチェックで CPU 型番 / メモリ / ディスクが表示される | 少なくとも第 1 層または第 3 層の対応 |
| システム情報に「FreeBSD」/「macOS」/「Android」が表示される | 対応する第 3 層 |
| クラッシュ防止のデプロイ後に「起動時の自動開始」バッジが表示される | systemd がある(第 1 層) |
| クラッシュ防止のデプロイ後に「起動時の自動開始」バッジがない | systemd なし、nohup にフォールバック済み(第 2 層) |
用語解説
- systemd:現代的な Linux のシステムおよびサービス管理ツールで、起動時の立ち上げやサービスの管理を担います。「起動時の自動開始」は systemd があって初めて実現できます。
- パッケージマネージャー:Linux でソフトウェアをインストールするツールで、apt(Debian/Ubuntu)、yum/dnf(CentOS/RHEL)、apk(Alpine)、pacman(Arch)などがあります。
推奨するテストマトリクス
異なるシステムの互換性を検証するためにマシンをいくつか用意する場合、「パッケージマネージャー + init システム」ごとに代表を 1 つ選ぶと最も広くカバーできます:
1. Debian 12(apt + systemd)— 最も主流の基準
2. Rocky Linux 9 または CentOS Stream(dnf + systemd)— RHEL 系
3. Alpine(apk + systemd なし)— 軽量 + nohup フォールバックの経路
4. Ubuntu 22.04/24.04(apt + systemd)— 最もよく使われる
この 4 つで 3 種類のパッケージマネージャー + systemd の有無という 2 形態の init をカバーでき、Linux サーバーの主流な状況をほぼ代表できます。