ドキュメント
クイックスタート + 機能・デバイスごとの解説(随時更新中)
インストールとアンインストール
本記事では、SSH Everywhere パネルのインストール、アップグレード、アンインストールの方法を詳しく説明します。特に「インストールディレクトリを変更した場合のアンインストール方法」と、コマンド内の書式の細部(スペース、引用符)を重点的に解説します。
1. インストール(1 行のコマンド)
グローバル IP を持つ Linux サーバー上で実行します:
curl -fsSL https://ssheverywhere.com/install.sh | bash
スクリプトは次を自動で行います:システムの検出 → 依存関係のインストール(Python3 / venv / pip / git / curl)→ コードのダウンロード → 仮想環境の作成 → Python 依存関係のインストール → systemd サービスの登録と起動。
Debian / Ubuntu / CentOS / Rocky / AlmaLinux / Fedora / WSL に対応(systemd がない場合は自動的にバックグラウンド実行に切り替え)。
インストールパラメータ
| パラメータ | 説明 | 例 |
|---|---|---|
--lang <コード> | 表示言語 + パネルの既定言語(既定ではシステム locale により自動判定。1〜16 の番号も受け付けます) | --lang ja |
--dir <ディレクトリ> | インストール先ディレクトリ(既定は /opt/ssh-everywhere。書き込み不可の場合は自動的に ~/ssh-everywhere にフォールバックし、その旨を出力で説明します) | --dir /opt/my-panel |
--port <ポート> | パネルのポート(既定 5501) | --port 8080 |
--ascii | 純 ASCII 記号出力を強制([ok] / [..] / [!] / [x])。どの端末でも文字化けしません | --ascii |
--unicode | Unicode 記号出力を強制(✓ ⟳ ⚠️ ❌)。UTF-8 環境では既定でこれです | --unicode |
--yes / -y | アップグレード時に自動確認し、対話は不要 | --yes |
対応言語コード(16 種類)
| コード | 言語 | コード | 言語 | コード | 言語 | コード | 言語 |
|---|---|---|---|---|---|---|---|
zh | 中文 | en | English | ja | 日本語 | ko | 한국어 |
es | Español | fr | Français | de | Deutsch | ru | Русский |
pt | Português | it | Italiano | ar | العربية | tr | Türkçe |
vi | Tiếng Việt | th | ไทย | id | Bahasa Indonesia | hi | हिन्दी |
--lang を渡さない場合はシステム locale に従って自動判定します(例:LANG=ja_JP.UTF-8 → 日本語の表示)。サーバーや端末の locale が UTF-8 でない場合(大手クラウドの軽量イメージでは LANG=C がよくあります)、スクリプトは自動的に純 ASCII 記号 [ok] に切り替え、言語を明示していなければ表示テキストも英語に戻し、冒頭でその理由を説明します — これは文字化けを避けるためです。言語を強制表示したい場合は以下を使えます:--lang xx --unicode。
パイプ方式で引数を渡す場合は bash -s -- を付けます:
# 日本語の表示 + 日本語パネル curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ja # ロシア語の表示 + カスタムディレクトリとポート curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ru --dir /opt/my-panel --port 8080 # 古い端末 / GBK 端末の文字化け対策:純 ASCII 出力(中国語の表示 + [ok] 記号) curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang zh --ascii # アラビア語(RTL インターフェース) curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ar
先にダウンロードしてから実行することもできます(対話式で、言語・ディレクトリ・アップグレードの確認を順に尋ねます):
curl -fsSL https://ssheverywhere.com/install.sh -o install.sh && bash install.sh
> 大手クラウド(Tencent Cloud / Alibaba Cloud)は既定で root ログインを無効にしています。明示的に渡した --dir は優先して尊重され、現在のユーザーにそのディレクトリへの書き込み権限がない場合にのみ、スクリプトが自動的にあなたの HOME ディレクトリ(~/ssh-everywhere)に変更し、出力で「渡したディレクトリはどれか、なぜ置き換えられたか、そこにインストールしたいなら root で実行すること」を明示します。
2. アップグレード
インストールコマンドをもう一度実行するだけです。スクリプトにはバージョン検出が内蔵されており、新しいバージョンを見つけるとアップグレードを促します(データは保持、全自動):
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --yes
--yes はアップグレード時に自動で確認する(対話不要)という意味です。
3. アンインストール
既定ディレクトリのアンインストール(対話式、推奨)
curl -fsSL https://ssheverywhere.com/uninstall.sh -o uninstall.sh && bash uninstall.sh
スクリプトはまず削除対象の内容を一覧表示して確認を求め、yes を入力した場合のみ実行します。
非対話 / スクリプトによるアンインストール
--yes を付けると確認をスキップします(安全チェックは維持されます):
curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --yes
アンインストールパラメータ
| パラメータ | 説明 |
|---|---|
--dir <ディレクトリ> | インストールディレクトリ(既定 /opt/ssh-everywhere、変更した場合は必ず指定) |
--keep-data | アンインストール前に data(サーバー設定 / データベース)を tar パッケージにバックアップ |
--yes | 非対話モードでのアンインストール確認 |
4. インストールディレクトリを変更した場合のアンインストール方法(重要)
インストール時に --dir でディレクトリを変更した場合、アンインストール時にも同じ --dir を指定する必要があります。そうしないとスクリプトがインストールディレクトリを見つけられず自動的に中止します(これは誤削除を防ぐ安全保護です)。
ディレクトリパスにスペースがない場合
curl -fsSL https://ssheverywhere.com/uninstall.sh -o uninstall.sh && bash uninstall.sh --dir /opt/my-panel
パイプ方式(--dir は bash -s -- の後に置きます):
curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --dir /opt/my-panel --yes
ディレクトリパスにスペースがある場合
ディレクトリ名にスペースが含まれる場合は、パス全体を二重引用符で囲む必要があります。そうしないと shell がパスを 2 つに分割し、スクリプトがディレクトリを見つけられません:
bash uninstall.sh --dir "/opt/my panel"
パイプ方式も同様です(引用符でパス全体を囲み、半分だけ囲まないようにしてください):
curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --dir "/opt/my panel" --yes
データを保持してアンインストールしたい場合
bash uninstall.sh --dir /opt/my-panel --keep-data
data(サーバー設定 / データベース)は <インストールディレクトリ>-data-backup-<タイムスタンプ>.tar.gz にバックアップされ、アンインストール後に取り出せます。
> 💡 推奨:インストールの時点でディレクトリ名にスペースを使わず、ハイフンやアンダースコア(my-panel、my_panel など)にすることをおすすめします。引用符にまつわる手間を省けます。
5. 安全について
アンインストールスクリプトには 3 層の保護が内蔵されており、誤削除を防ぎます:
1. 絶対パスの検証 —— 相対パスを拒否します。
2. システム重要ディレクトリのブラックリスト —— /、/root、/etc、/usr、/var などを拒否します。
3. インストールディレクトリのフィンガープリント検証 —— VERSION と app.py が同時に存在する場合のみ削除し、そうでなければ中止します。
> アンインストールはパネル本体のみを削除し、対象サーバー / デバイス上の Agent は影響を受けません(パネル削除後はオフラインとして表示されます)。