SSH 反向隧道 + Claude MCP SSH 服务接入完整部署文档

整体流程梳理

  1. 本地 PC 发起反向 SSH 隧道,打通外网服务器端口 ↔ 内网网关 SSH
  2. 验证隧道连通性,配置 SSH 免密登录
  3. Claude MCP 接入 SSH 远程服务器,实现远程命令执行
  4. 额外接入 Playwright MCP,附带浏览器自动化能力
  5. 主要是排查web错误,然后自动修改js,修复bug

环境准备

组网环境

设备 IP 地址 说明
远端服务器 172.16.13.128 反向隧道服务端
本地 PC 网卡 1:172.16.13.31;网卡 2:192.168.0.99 双网卡发起隧道
内网网关 192.168.0.8:22 目标被 SSH 访问机器

网络拓扑

建立 SSH 反向远程端口转发隧道

隧道启动命令说明

本地 PC 执行,将远端服务器172.16.13.128的 10400 端口反向映射到内网网关192.168.0.8:22

ini 复制代码
ssh -R 10400:192.168.0.8:22 -N -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o StrictHostKeyChecking=no lbt@172.16.13.128

参数解释:

  • -R 10400:192.168.0.8:22:远端机器监听 10400 端口,流量转发至内网网关 22 端口
  • -N:仅建立隧道,不打开远程 Shell 终端
  • 心跳保活:30s 发送一次心跳,连续 3 次失败自动断开重连
  • StrictHostKeyChecking=no:首次连接自动信任主机密钥,无需交互确认

隧道连通性验证

在服务器上验证执行,通过隧道访问内网网关 SSH:

css 复制代码
ssh -p 10400 root@127.0.0.1 'echo tunnel_ok && uname -a'

输出tunnel_ok+ 系统内核信息即代表隧道通畅。

免密 SSH 密钥推送

把本地公钥推送至隧道后的网关 root 账号,后续 MCP 免密登录:

css 复制代码
ssh-copy-id -p 10400 root@127.0.0.1

Claude MCP 服务配置

安装ssh-mcp-server

配置 SSH MCP 服务(已安装了ssh-mcp-server,未安装请跳过)

如果已经安装了ssh-mcp-server,可直接粘贴至 Claude MCP 配置文件:

perl 复制代码
{
    "mcpServers": {
        "ssh-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@fangjunjie/ssh-mcp-server",
                "--host", "127.0.0.1",
                "--port", "10400",
                "--username", "root",
                "--privateKey", "~/.ssh/id_ed25519",
                "--pre-connect"
            ]
        }
    }
}

参数说明:

  • --host / --port:隧道本地映射地址与端口
  • --username:目标网关 SSH 登录账号 root
  • --privateKey:本地 ed25519 私钥绝对路径,免密认证
  • --pre-connect:启动 MCP 前预先建立 SSH 连接

命令行一键添加 SSH MCP 服务

json 复制代码
claude mcp add-json ssh-mcp-server '{"command":"npx","args":["-y","@fangjunjie/ssh-mcp-server","--host","127.0.0.1","--port","10400","--username","root","--privateKey","/home/lbt/.ssh/id_ed25519","--pre-connect"]}'

安装 Playwright MCP(浏览器自动化)

perl 复制代码
claude mcp add playwright -- npx @playwright/mcp@latest --headless --no-sandbox
  • --headless:无头模式运行浏览器,无 GUI 窗口
  • --no-sandbox:关闭沙箱,容器 / 服务器环境必备参数

由于pc 和网关没有路由,需要使用playwright的时候,需要在PC电脑上安装nginx代理 ,nginx.conf代码块

ini 复制代码
	server {
		listen 19090;
		server_name localhost;

		# 现代 Nginx 核心对策:防止 Nginx 自动补全为 80 端口
		absolute_redirect off;

		location / {
			proxy_pass http://192.168.0.8/;

			# 只要这一行,自动搞定 99% 的重定向端口丢失问题
			proxy_redirect default;

			# 用 $http_host 动态获取客户端的"域名+19090端口",优雅且不会写死
			proxy_set_header Host $http_host;
			
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header X-Forwarded-Proto $scheme;
			
			proxy_cookie_path / "/; SameSite=Lax";
		}
	}

mcp安装验证

复制代码
claude mcp list

测试验证(实际场景用到)

Playwright截图步骤(用于web 错误排查)

自然语言提问:

打开http://172.16.13.31:19090/auth/输入admin/admin ,点击登录 ,然后 Edge2Cloud → E2C Modbus → Terminal,点击 Setting 后截图

执行结果如下:

  1. 打开 http://172.16.13.31:19090/auth/,用 admin/admin 登录成功
  2. 依次点进 Edge2Cloud → E2C Modbus → Terminal 标签页
  3. 点击 Setting 区块标题将其收起
  4. 全页截图已保存:e2c-modbus-terminal-setting-collapsed.png

ssh-mcp-server 这个主要是操作网关上的任意文件,譬如查看读写,内容比较简单忽略

运维与排错指南

MCP 服务管理常用命令

csharp 复制代码
# 查看已添加MCP服务列表
claude mcp list

# 重启SSH MCP服务
claude mcp restart ssh-mcp-server

# 删除异常MCP服务
claude mcp remove ssh-mcp-server
相关推荐
weixin_6686 天前
Cursor 插件使用说明:Linear 与 Figma
人工智能·cursor
一个金牛座的前端8 天前
AI 写前端,优化的是演示,不是交付
前端·ai·cursor
破土士V9 天前
AI生成测试用例+agent browser实现Web测试用例执行
ai·自动化·cursor·ai生成测试用例·agent browser·ai自动执行测试用例
FEF前端团队10 天前
02# Cursor实战:从安装到Agent模式
ai编程·cursor·vibecoding
FEF前端团队10 天前
01# Vibe Coding工作流设计思维:前端开发者的协作框架
前端·cursor·vibecoding
VIP_CQCRE11 天前
Cursor 接入 Ace Data Cloud MCP:把 AI 编程编辑器升级成全能创作工作台
ai·开发工具·cursor·mcp·ace data cloud
VIP_CQCRE13 天前
在 VS Code、Cursor、Windsurf 里接入 Ace Data Cloud:OpenCode IDE Extension 配置指南
ai编程·vs code·cursor·opencode·ace data cloud
JMchen12317 天前
Cursor高阶玩法:.cursorrules编写与Spec-Driven开发实战,把AI调教成专属结对编程搭档
人工智能·vscode·kotlin·cursor·结对编程·spec-driven·.cursorrules
JMchen12318 天前
2026年六款主流AI编程工具深度实测:Cursor、Copilot、Claude Code等对比与选型思考
android·kotlin·copilot·ai编程·开发工具·cursor·claude code
货拉拉技术18 天前
让 AI 真正读懂你的代码:一套可复用的 Cursor 辅助编码实践
cursor