自从有了 Windows 的个人电脑之后,经常在不同平台的环境中切换。每个平台都有一个终端软件,SSH 配置成了一个大难题。
一开始用的是全平台的 Termius,基础功能基本满足需求,并且也有 iOS 客户端,后来发现它的多端同步需要 Pro 订阅,价格十分昂贵。我在 macOS 上用的其实是 Alacritty,基础配置也通过了 Github 同步,但是 SSH 配置的同步则无能为力。
后来找到了 Tabby 这个全平台的开源 Terminal 工具(Linux/Windows/macOS,遗憾不支持移动端),它可以自建 Web 同步服务,在不同平台之间同步基础配置以及SSH配置。
Step1: Github 创建应用
tabby-web 支持 Github / Google / Gitlab 等 SSO 登录,此处使用 Github 为例:
- 创建 OAuth App:https://github.com/settings/developers
- 填写基本信息
${tabby-web的外部可访问地址}/api/1/auth/social/complete/github/
- 获取 client id
- 获取 client secret
Step2:启动 tabby-web
name: tabby
services:
tabby:
image: ghcr.io/eugeny/tabby-web:latest
restart: always
ports:
- 8080:80
environment:
- TZ=Asia/Shanghai
- DATABASE_URL=postgres://user:password@postgresql/tabby
- PORT=80
- DEBUG=False
- APP_DIST_STORAGE=file:///data # 支持本地文件系统、S3等
- SOCIAL_AUTH_GITHUB_KEY= #上一步获取的client id
- SOCIAL_AUTH_GITHUB_SECRET= #上一步获取的client secret
volumes:
- /data/docker/tabby/data:/data
启动后访问 web 服务(登录需要配置可访问,即 Github 可以回调到上述配置的地址,比如使用 《Cloudflare Tunnel + Nginx Proxy Manager:服务穿透》中提到的方式)。
- 访问
${tabby-web地址}/login
登录(或者点击首页左下角登录) - 选择 Github 认证登录
- 登录成功后如下所示,会显示同步 Token
Step3:tabby 配置
打开 tabby,进入_[设置 - 配置同步]_。依次输入同步主机如 https://example.com/xxx
和 同步Token,回车。tabby 会进行校验并设置成功,打开自动同步,完成。
一些问题
- 保险库密码输入太频繁,编辑每个 Host 的时候都需要输入密码