与 OpenSSH 高度兼容的 SSH 客户端,增加登录界面、批量登录、文件传输和类似 mosh 的 UDP 模式。
- Star
- 3,943
- Fork
- 240
- 未关闭 Issue
- 28
- 最近提交
- 3天前
这是什么?
Eternal Terminal(ET)是一款远程 Shell 工具,连接在客户端休眠或网络切换后能自动重连,且不中断当前会话。客户端 `et` 先通过 SSH 完成认证并启动远程会话,之后与服务端 `etserver` 保持长连接,默认监听 TCP 2022 端口。
ET 的命令用法与 ssh 相近,支持跳板机(jumphost)、通过 `--tunnel` 做端口转发、读取 SSH 配置文件以及 SSH agent 转发。会话信息可以保存,客户端重启后仍能重新连接。项目还提供 `etctl`,可在脚本中驱动会话并获取命令输出和退出码;内置的 HTM 是兼容 tmux 的终端复用器,也可作为 VS Code 和 Cursor Remote-SSH 的传输层。
项目使用 C++ 编写,支持 macOS、Ubuntu、Debian、Fedora、NixOS、FreeBSD 等 Linux 系统,Windows 上可通过 WSL 使用。遥测默认开启,可通过参数、配置项、环境变量或编译选项关闭。
核心功能
- 01网络切换后自动重连,远程 Shell 会话保持不中断。
- 02使用 SSH 完成认证与启动,命令用法与 ssh 相近。
- 03支持跳板机、`--tunnel` 端口转发和 SSH 配置文件。
- 04会话可保存,客户端重启后重新挂接。
- 05提供 etctl,可在脚本中获取命令输出和真实退出码。
- 06可作为 VS Code 与 Cursor Remote-SSH 的传输层。
适用场景
- 在不稳定的 Wi-Fi 或移动网络下操作远程服务器。
- 笔记本合盖休眠后,保持远程开发会话不断开。
- 通过 etctl 在脚本中驱动交互式远程命令。
- 经跳板机连接使用非默认 SSH 端口的服务器。
快速上手
- 1
在 macOS 上用 Homebrew 安装客户端
brew install et - 2
在 Ubuntu 上通过 PPA 安装(先添加软件源)
sudo add-apt-repository ppa:jgmath2000/et - 3
在 FreeBSD 上用 pkg 安装
pkg install eternalterminal - 4
连接到主机(需要能通过 ssh 连接且服务器开放 2022 端口)
et hostname
使用前须知
- 需要能通过 SSH 连接目标主机,因为 ET 使用 ssh 完成握手。
- 服务器需要开放 TCP 端口,默认为 2022。
- 遥测默认开启,会将错误日志发送至 Datadog,崩溃报告发送至 Sentry,需手动关闭。
收录于专题
标签
常见问题
- EternalTerminal 是什么?
- 一款可自动重连的远程 Shell 工具,网络中断后会话不丢失。 Eternal Terminal(ET)是一款远程 Shell 工具,连接在客户端休眠或网络切换后能自动重连,且不中断当前会话。客户端 `et` 先通过 SSH 完成认证并启动远程会话,之后与服务端 `etserver` 保持长连接,默认监听 TCP 2022 端口。
- EternalTerminal 可以免费使用吗?用的什么许可证?
- EternalTerminal 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- EternalTerminal 还在维护吗?
- 活跃维护中。EternalTerminal 最近一次提交是在 2026年11月4日。
- EternalTerminal 适合用来做什么?
- 在不稳定的 Wi-Fi 或移动网络下操作远程服务器。 笔记本合盖休眠后,保持远程开发会话不断开。 通过 etctl 在脚本中驱动交互式远程命令。 经跳板机连接使用非默认 SSH 端口的服务器。
- EternalTerminal 怎么安装和运行?
- 在 macOS 上用 Homebrew 安装客户端: brew install et 在 Ubuntu 上通过 PPA 安装(先添加软件源): sudo add-apt-repository ppa:jgmath2000/et 在 FreeBSD 上用 pkg 安装: pkg install eternalterminal 连接到主机(需要能通过 ssh 连接且服务器开放 2022 端口): et hostname
- 在哪里获取 EternalTerminal?
- 源代码和安装说明在 GitHub 上:https://github.com/MisterTea/EternalTerminal
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款现代化的 C++ 终端模拟器,支持 Windows、macOS、Linux 和 BSD,提供持久会话、标签页与分屏。
用 Rust 编写、GPU 渲染的终端,后台服务保持会话存活,支持 AI 编码代理与远程 SSH 工作。
面向 SSH 终端的文件传输工具,可替代 lrzsz(rz/sz),并兼容 tmux。
一款终端 TUI 工具,用于浏览、连接和管理 ~/.ssh/config 中的 SSH 主机。