ログインプロンプト、一括ログイン、trzsz/zmodemによるファイル転送、moshに似たUDPモードを追加した、OpenSSH互換のSSHクライアント。
- スター
- 3,943
- フォーク
- 240
- 未解決の Issue
- 28
- 最終コミット
- 3 日前
これは何?
Eternal Terminal(ET)は、セッションを中断せずに自動再接続するリモートシェルです。クライアントの `et` はSSHで認証してリモートセッションを開始し、その後は既定でTCPポート2022を使って `etserver` デーモンとの永続的な接続を維持します。そのため、ノートPCがスリープしたりネットワークが切り替わったりしても、シェルは終了しません。
ETはコマンド構文がsshに似ており、jumphost、`--tunnel` によるポートフォワーディング、SSH configファイル、SSH agent forwardingに対応しています。セッションは保存でき、クライアントの再起動後に再接続できます。また、出力と終了コードを取得しながら、スクリプトからセッションを操作できるツール `etctl` も提供します。tmux互換のターミナルマルチプレクサであるHTMが同梱されており、VS CodeやCursorのRemote-SSH用トランスポートとしても利用できます。
このプロジェクトはC++で開発されており、macOS、Ubuntu、Debian、Fedora、NixOSなどのLinuxディストリビューション、FreeBSD、およびWindows上のWSLにインストールできます。テレメトリーはデフォルトで有効ですが、フラグ、設定項目、環境変数、またはビルドオプションで無効にできます。
主な機能
- 01ネットワークが変わってもリモートシェルのセッションを維持し、自動的に再接続します。
- 02SSHで認証とセッション開始を行い、ssh風のコマンド構文を採用しています。
- 03jumphost、`--tunnel` によるポートフォワーディング、SSH configファイルに対応しています。
- 04セッションを保存し、クライアントの再起動後に再接続できます。
- 05出力と終了コードを取得しながらスクリプトから操作できる `etctl` を提供します。
- 06VS CodeおよびCursorのRemote-SSH用トランスポートとして利用できます。
ユースケース
- 不安定なWi-Fiやモバイル回線経由でリモートサーバーを操作する。
- ノートPCがスリープしても、長時間のリモート編集セッションを維持する。
- `etctl` を使って、対話型のリモートコマンドをスクリプトから操作する。
- 独自のSSHポートを使い、jumphostの背後にあるサーバーへ接続する。
クイックスタート
- 1
Homebrew を使って macOS にクライアントをインストールする
brew install et - 2
リポジトリを追加してから、PPA 経由で Ubuntu にインストールする
sudo add-apt-repository ppa:jgmath2000/et - 3
pkg を使って FreeBSD にインストールする
pkg install eternalterminal - 4
ホストに接続する(接続先で SSH が利用可能で、サーバーのポート 2022 が開いている必要があります)
et hostname
使う前に知っておきたいこと
- ET はハンドシェイクに SSH を使用するため、ホストへの SSH 接続が正常に機能する必要があります。
- サーバーで TCP ポートを開放する必要があります。デフォルトは 2022 です。
- テレメトリーはデフォルトで有効になっており、エラーログを Datadog に、クラッシュレポートを Sentry に送信します。無効にするには手動で設定する必要があります。
収録されている特集
トピック
よくある質問
- EternalTerminal とは?
- ネットワークが変わってもSSH風のセッションを維持し、自動再接続するリモートシェルのクライアント/サーバー。 Eternal Terminal(ET)は、セッションを中断せずに自動再接続するリモートシェルです。クライアントの `et` はSSHで認証してリモートセッションを開始し、その後は既定でTCPポート2022を使って `etserver` デーモンとの永続的な接続を維持します。そのため、ノートPCがスリープしたりネットワークが切り替わったりしても、シェルは終了しません。
- EternalTerminal は無料で使えますか?ライセンスは?
- EternalTerminal は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- EternalTerminal は今もメンテナンスされていますか?
- 活発にメンテナンス中。EternalTerminal の最終コミットは 2026年11月4日 です。
- EternalTerminal は何に使えますか?
- 不安定なWi-Fiやモバイル回線経由でリモートサーバーを操作する。 ノートPCがスリープしても、長時間のリモート編集セッションを維持する。 `etctl` を使って、対話型のリモートコマンドをスクリプトから操作する。 独自のSSHポートを使い、jumphostの背後にあるサーバーへ接続する。
- EternalTerminal のインストール方法は?
- Homebrew を使って macOS にクライアントをインストールする: brew install et リポジトリを追加してから、PPA 経由で Ubuntu にインストールする: sudo add-apt-repository ppa:jgmath2000/et pkg を使って FreeBSD にインストールする: pkg install eternalterminal ホストに接続する(接続先で SSH が利用可能で、サーバーのポート 2022 が開いている必要があります): et hostname
- EternalTerminal はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/MisterTea/EternalTerminal
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Windows、macOS、Linux、BSDに対応した、永続セッション、タブ、分割表示、画像表示を備えるGPUアクセラレーション対応のモダンなC++製ターミナルエミュレーター。
Rust製のGPU描画ターミナルエミュレーター。エージェント対応セッションとSSHリモート作業を備え、ウィンドウを閉じてもシェルやペインを維持
tmux セッション内でも使える、SSH ターミナル向けの lrzsz(rz/sz)代替ファイル転送ツール。
~/.ssh/configに定義されたSSHホストの閲覧、接続、管理を行うターミナルTUI。