手里有 5 台、10 台甚至几十台 VPS?这套工具链让批量运维不再头大

当你手里 VPS 越来越多,IP/密码记不住、切换繁琐、批量操作难。本文讲清 Termius、MobaXterm 的选型与使用,本地 SSH 密钥集中管理(ssh-keygen + ssh-copy-id + ~/.ssh/config 别名),以及团队级开源堡垒机 JumpServer 的 Docker 一键部署与核心概念。

一、痛点:VPS 一多,管理就成了灾难

刚开始玩 VPS 时,一台机器记个 IP、密码,Putty 连上去就完事。可随着你越来越会上头,RackNerd 薅个特价、CloudCone 囤个备份机、DMIT 搞台线路好的做落地,手里不知不觉就攒了 5 台、10 台,狠人甚至几十台。这时候问题全来了:

  • IP 和密码记不住:每台端口、用户名、密码都不一样,脑子根本装不下,只能记在微信文件传输助手里,还怕泄露。
  • 切换繁琐:想从 web1 切到 db1,得重新开窗口、输 IP、输密码,一天切几十次血压飙升。
  • 批量操作难:要同时在 10 台上升级、改配置、查负载,一台台敲命令能敲到天亮,还容易漏。
  • 安全裸奔:每台都用弱密码 + 22 端口,被人扫到就完蛋;出了事还不知道是谁、哪台干的。

所以"管多台 VPS"和"管一台"是完全不同的玩法,得有趁手的工具链。下面我按个人玩家团队运维的递进,给你一套从入门到进阶的方案。

二、客户端选型:Termius 还是 MobaXterm?

先说图形化的 SSH 客户端。别再用系统自带终端裸连了,好的客户端能省你一半时间。

Termius:跨平台颜值天花板

Termius 是我最推荐 Mac / Linux 用户(也支持 Windows 和手机)的客户端。它的强项:

  • 全平台同步:主机列表、密钥、片段(snippets)通过账号云同步,手机、平板、电脑无缝衔接。出门用手机也能秒连。
  • 标签 + 分组:几十台机器按"生产/测试/厂商"分组,一眼找到。
  • 代码片段 Snippets:把常用命令(比如 df -hdocker system df)存成片段,一点就发。
  • 内置 SFTP:拖拽传文件,不用另开 FTP 工具。
  • Keychain 管理密钥:导入私钥后,建主机时下拉选一下就免密登录。

免费版够个人用,同步和多设备需要订阅 Pro。对纯个人玩家来说免费版完全能打。

MobaXterm:Windows 下的全能瑞士军刀

如果你主力是 Windows,MobaXterm 几乎是无脑首选。它是 PuTTY 的超级升级版:

  • 自带 X Server:能在 Windows 上直接跑 Linux 的图形界面程序(比如远程开个浏览器、GIMP),这是它独一档的能力。
  • 多标签 + 宏:一个窗口开 N 个 SSH 标签;宏(Macro)能录制一串操作自动回放。
  • 多执行模式:选中多个会话,点"多执行",在一个终端敲命令、其他所有机器同步执行——批量巡检神器。
  • 集成 SFTP:连上 SSH 左侧自动出文件浏览器,路径还和终端同步。
  • 内置 MobaSSHAgent:相当于 Windows 下的 ssh-agent,一次加载多个 .ppk 密钥,全程免密。

教育版(Home)对个人免费,功能已经非常全;专业版才需要付费解锁高级特性。

其他可选项

  • Xshell:老牌 Windows 客户端,学校/家庭免费,功能稳,但免费授权不能商用。
  • Electerm:开源跨平台,界面现代,GitHub 上活跃,喜欢折腾的开源党可以试。
  • FinalShell:国产,带服务器监控面板和文件管理,对中文用户友好,但闭源且注意只从官网下。

选型建议:Mac/Linux 主力选 Termius;Windows 主力选 MobaXterm(要 X11 图形就它了);纯命令行党直接上原生 OpenSSH + tmux 也行。下面这套密钥管理思路,无论哪个客户端都通用。

三、密钥集中管理:告别每台输密码

不管你用哪个客户端,终极舒服的状态是:一条命令连进任意一台机器,且全程不输密码。这靠 SSH 公钥认证实现,而且顺带把安全级别拉满(可以禁掉密码登录,让扫描器干瞪眼)。

第一步:本地生成一套密钥

2026 年了,强烈建议用 Ed25519 算法(比 RSA 更短更安全更快)。在你自己的电脑上(不是 VPS 上)生成:

ssh-keygen -t ed25519 -C "my-vps-key-2026"
# 一路回车,或设个 passphrase(私钥密码,丢设备也不怕)
# 生成后默认在 ~/.ssh/id_ed25519(私钥)和 ~/.ssh/id_ed25519.pub(公钥)

Windows 上可以用 Git Bash、WSL 或 MobaXterm 自带的 MobaKeyGen 生成,本质一样。

第二步:把公钥分发到所有 VPS

ssh-copy-id 把公钥推到每台机器(替换成你的实际 IP 和用户名):

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@1.2.3.4
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@5.6.7.8
# 非 22 端口时
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 root@1.2.3.4

它会要你输一次密码,然后把公钥写进那台机器的 ~/.ssh/authorized_keys。建议写个循环一次性推给所有机器:

for ip in 1.2.3.4 5.6.7.8 9.10.11.12; do
  ssh-copy-id -i ~/.ssh/id_ed25519.pub root@$ip
done

第三步:~/.ssh/config 给每台起别名

在本地 ~/.ssh/config 里给机器起好记的名字,以后 ssh web1 就直接连:

Host web1
    HostName 1.2.3.4
    Port 22
    User root
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 30
    TCPKeepAlive yes

Host db1
    HostName 5.6.7.8
    Port 2222
    User deploy
    IdentityFile ~/.ssh/id_ed25519

ServerAliveInterval 30 是心跳包,防止长时间空闲被防火墙/NAT 踢掉,配合 Termius/MobaXterm 的 keep-alive 设置体验更佳。

第四步:禁掉密码登录,提升安全(关键!)

密钥通了之后,在每台 VPS 上改 /etc/ssh/sshd_config

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password

改完重启 sshd:

systemctl restart sshd

血泪提醒:一定要先确认密钥能登录了,再关密码!否则你就把自己锁门外了。真锁了别慌,绝大多数厂商(BandwagonHostVultr 等)都有网页 VNC 控制台,登进去临时把密码登录开回来即可。

常见翻车点:VPS 上 ~/.ssh 权限要 700,authorized_keys 要 600;RHEL 系若开了 SELinux 还要 restorecon -Rv ~/.ssh

四、团队 / 多机器的终极方案:自建 JumpServer 堡垒机

个人玩家用 Termius + 密钥已经爽翻。但当你要给团队用、要管控"谁能连哪台"、要审计"谁执行了什么命令"、要录像回放,本地密钥方案就不够了。这时候上开源堡垒机 JumpServer

为什么需要堡垒机

JumpServer 是飞致云出品、完全开源的 4A 堡垒机(认证 Authentication / 授权 Authorization / 账号 Account / 审计 Audit),核心价值:

  • 统一入口:所有机器只暴露给堡垒机,运维走 Web 终端或 2222 端口统一进来,不用把每台机器的 IP 都散出去。
  • 细粒度授权:按"用户-资产-系统用户"三维度授权,开发组只能连测试机、运维组能连生产机。
  • 操作录像 + 命令审计:谁在什么时间对哪台机器执行了什么命令,全程记录、可回放,出了事能溯源。
  • 高危命令拦截rm -rfshutdown 之类可设二次确认或直接阻断。
  • 多因子认证 MFA:登录强制二次验证。

Docker 一键部署(社区版)

JumpServer 官方提供 installer,用 Docker Compose 起最省事。建议机器至少 2 核 4G(生产建议 4 核 8G),并已装好 Docker 和 Docker Compose:

# 下载官方安装器(版本号以官网为准)
curl -O https://download.jumpserver.org/jumpserver-installer-v3.0.0.tar.gz
tar -zxvf jumpserver-installer-v3.0.0.tar.gz
cd jumpserver-installer-v3.0.0
# 交互式安装,过程中会让你设 SECRET_KEY、BOOTSTRAP_TOKEN、DB 密码等
./jmsctl.sh install
# 启动
./jmsctl.sh start

启动后用浏览器访问 http://你的堡垒机IP,默认账号 admin / admin首次登录务必改密码。常用管理命令:

./jmsctl.sh status   # 看组件状态
./jmsctl.sh stop     # 停止
./jmsctl.sh restart  # 重启
./jmsctl.sh backup   # 备份(部署前先备份是好习惯)

核心概念:用户 / 资产 / 授权 / 会话

四步走通才能用起来:

  • 用户(User):在"用户管理"里建账号,可启用 MFA。可以分角色:普通用户、审计员、管理员。
  • 资产(Asset):在"资产管理"里录入你的 VPS,填 IP、端口、协议(SSH)、连接用的系统账号(root 或普通用户)。可以按节点分组,比如"生产/测试"。
  • 授权(Permission):在"权限管理"里建授权规则,把"某用户/用户组"绑定到"某资产/资产节点",并指定"系统用户"。这就是最小权限原则的体现。
  • 会话(Session):授权生效后,用户在 Web 终端或 ssh -p 2222 用户名@堡垒机IP 登录,选资产即可连入;所有操作进"会话审计",可实时监控、录像回放。

SSH 接入示例:

# 通过堡垒机跳到目标资产
ssh -p 2222 admin@你的堡垒机IP
# 首次连接确认指纹后,在列表里选要连的资产即可

适合谁?给你个判断标准

  • 单机 / 个人 1~10 台:Termius + 密钥 + 禁用密码登录,足够了,别折腾堡垒机,杀鸡用牛刀。
  • 小团队 3~20 人、要分权审计:JumpServer 社区版正合适,免费且功能完整。
  • 中大型企业、等保合规:JumpServer 企业版或商业堡垒机,配合 LDAP/AD、SSO。

提醒:堡垒机本身也是一台要运维的机器,录像和审计日志会占磁盘(参考上一篇文章),记得配好存储和清理。

五、总结 / 避坑清单

  • 客户端选型:Mac/Linux 用 Termius(同步+SFTP+片段),Windows 用 MobaXterm(X11+多执行+宏);开源党可试 Electerm。
  • 密钥而非密码:本地 ssh-keygen -t ed25519 生成,ssh-copy-id 分发到所有机器,~/.ssh/config 起别名实现 ssh web1 秒连。
  • 关密码登录:密钥通了再改 sshd_configPasswordAuthentication 设 no,并配 ServerAliveInterval 30 防掉线;改之前确认能密钥登录,否则会被锁门外。
  • 私钥加 passphrase:生产环境给私钥设密码,设备丢了也不怕;建议加进 ssh-agent 免重复输入。
  • 团队上堡垒机:JumpServer 用 jmsctl.sh install 一键 Docker 部署,理清"用户-资产-授权-会话"四步;单机玩家不必上。
  • 堡垒机也要运维:审计录像占空间,记得备够盘、配好清理,别让堡垒机自己先磁盘爆满。

工具到位了,管 10 台和管 1 台的心力差距就没那么大了。先把密钥体系和客户端配顺手,等真到了团队协作的体量,再上 JumpServer 水到渠成。

延伸阅读

更多相关攻略推荐:【VPS 硬件选型指南 (CPU 篇) 04】AMD EPYC 还是【发行版选型 07】Arch Linux 深度科普:滚动发布、pac【VPS 进阶玩法精选 014】ARM 架构 VPS 值不值得上?A【对象存储 01】对象存储怎么选:Backblaze B2 vs C【TCP优化 01】美国 VPS 跑不快?多半是没开 BBR,一个命