还在把VPS密码直接发给AI Agent?聊聊更安全的连接姿势
随着AI编程工具(比如Cursor、Windsurf、各种基于Codex的Agent)的普及,大家都尝到了“动动嘴就让代码写好”的甜头。最近看到有朋友在讨论:能不能让这些AI Agent直接连上我的VPS,帮我把服务器环境配好,或者直接帮我部署应用?
想法很美好,但实操起来有个让人“心里发毛”的问题:连接VPS通常需要IP、端口和用户名密码,难道直接把这些敏感信息贴在AI对话框里吗?或者是明文写在项目配置文件里(一旦被投喂给上下文,就等于泄露了)?
这显然不是一个好习惯。今天就来唠唠,想让AI帮我们管理服务器,有哪些更安全、更优雅的连接姿势。
⚠️ 风险警示:别把服务器大门钥匙交给“陌生人”
首先我们要明确一个认知:AI Agent的运行环境是不透明的。你投喂的Prompt、上下文文件,可能会被用于模型训练,或者经过云端处理。一旦你的VPS登录凭证被作为上下文发送,理论上就存在泄露风险。
此外,如果你直接在代码仓库里配置明文密码,哪怕只是个测试项目,一旦不小心开源,你的服务器就会被黑客“肉鸡”化。所以,直接把密码发给AI是大忌。
🔐 方案一:SSH Key 认证(基础必备)
不用密码,SSH密钥是第一道防线。
原理:你生成一对密钥,私钥保存在本地(绝对不能给AI),公钥放在服务器上。AI在运行SSH命令时,只能使用本地的私钥进行认证,而无需知道任何密码。
操作思路:
- 在本地生成SSH Key:
ssh-keygen -t ed25519。 - 将公钥
~/.ssh/id_ed25519.pub内容追加到VPS的~/.ssh/authorized_keys中。 - 关键点:在使用Agent时,不要暴露私钥内容。如果你是在本地运行的开源模型(如Ollama本地接入IDE),可以让Agent调用本地的SSH客户端工具,这样密钥只在你机器内存里流转,不会上传到云端。
🛡️ 方案二:密钥权限收拢与Just-in-Time (JIT) 访问
如果依然担心AI拿到Shell权限后乱删文件,可以进一步限制SSH权限。
- 受限Shell:专门给AI的操作创建一个系统用户,比如
deploy_ai,然后限制它的Shell权限,禁止使用sudo,禁止访问关键系统目录。 - JIT 临时凭证:虽然不建议用密码,但在某些SRE工具链中,可以使用类似Bastion(堡垒机)的机制,生成只有极短有效期(如5分钟)的临时Token供Agent使用。Token失效后,通道自动切断,防止误操作后门留滞。
🌐 方案三:Tailscale 或 WireGuard 组网(推荐方案)
这是目前最“丝滑”的方案,也是我自己在用的方式。与其暴露公网IP和端口,不如把AI Agent所处的环境(如果是本地或局域网)拉进你的虚拟私有网络。
为什么推荐?
- 隐蔽性:VPS不需要开启公网SSH端口(或者直接在防火墙 DROP 22端口),只有接入Tailscale网络的设备才能访问。
- IP白名单:不需要记复杂的IP,直接用机器名连接。
实操步骤:
- 在VPS上安装 Tailscale:
curl -fsSL https://tailscale.com/install.sh | sh。 - 在你的操作机(即运行Agent的电脑或容器)上也安装 Tailscale 并登录。
- 此时,你可以通过
ssh user@vps-tailscale-name直接连接,完全绕过公网。 - 对于Agent,你只需要告诉它:“连接10.x.x.x(Tailscale分配的私有IP)上的用户”。即使IP泄露,黑客在非内网环境下也毫无办法。
🤖 方案四:利用 MCP (Model Context Protocol) 或 函数调用
现在的AI Agent很多支持“工具调用”。与其让AI自己去写SSH连接字符串,不如给它封装一个安全的工具。
比如,你可以写一个简单的Python脚本,函数名为 run_safe_command(server_id, command)。这个脚本内部预置好了加密后的连接信息或走的是内部API通道。
在Prompt中,你告诉AI:“如果你需要在服务器上执行命令,请调用 run_safe_command,不要尝试直接ssh登录。” 这样AI只是作为一个触发器,具体的凭据管理完全在你的控制范围内(类似OpenInterpreter的本地模式)。
📝 总结
想让AI帮我们干苦力(配置VPS、部署Docker),核心思路是**“最小权限原则”和“凭证不透明”**。
- 绝对不要在对话中输入密码。
- 优先使用 SSH Key 替代密码登录。
- 强烈建议 使用 Tailscale 等VPN技术隐藏服务器入口。
- 进阶玩法 可以通过沙箱用户或自定义工具限制Agent的行动范围。
技术是为了偷懒,但前提是家里门锁得换得结实。大家平时都是怎么让AI帮自己管理服务器的?欢迎在评论区分享你的骚操作!

评论已关闭