手里有 5 台、10 台甚至几十台 VPS?这套工具链让批量运维不再头大
2026-08-14 · DevCraft Studio
当你手里 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 -h、docker 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_ed25519ServerAliveInterval 30 是心跳包,防止长时间空闲被防火墙/NAT 踢掉,配合 Termius/MobaXterm 的 keep-alive 设置体验更佳。
第四步:禁掉密码登录,提升安全(关键!)
密钥通了之后,在每台 VPS 上改 /etc/ssh/sshd_config:
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password改完重启 sshd:
systemctl restart sshd血泪提醒:一定要先确认密钥能登录了,再关密码!否则你就把自己锁门外了。真锁了别慌,绝大多数厂商(BandwagonHost、Vultr 等)都有网页 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 -rf、shutdown之类可设二次确认或直接阻断。 - 多因子认证 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_config把PasswordAuthentication设 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,一个命。