解放AI远程服务器操作:ssh-mcp-server 让MCP协议与SSH无缝对接

在AI辅助开发日益普及的今天,如何安全高效地让AI助手操作远程服务器成为了一个重要需求。想象一下,当你让AI帮你部署应用时,它却因为无法直接访问服务器而束手无策,是不是很令人沮丧?今天要介绍的开源项目 ssh-mcp-server 正是为解决这个问题而生。

什么是 ssh-mcp-server?

ssh-mcp-server 是一个基于SSH的MCP(Model Context Protocol)服务器,它充当了AI助手与远程服务器之间的桥梁。简单来说,它允许支持MCP协议的AI助手通过标准化接口执行远程SSH命令,而无需将SSH凭据直接暴露给AI模型,极大提升了操作安全性。

项目开源地址:github.com/classfang/s...

NPM包地址:www.npmjs.com/package/@fa...

核心特性解析

ssh-mcp-server 之所以能成为连接AI与服务器的理想工具,得益于其精心设计的核心功能:

  1. 多种安全连接方式:支持密码认证和私钥认证(包括带密码的私钥),满足不同场景的安全需求

  2. 命令安全控制:通过灵活的黑白名单机制精确控制允许执行的命令范围,有效防止危险操作

  3. 标准化接口:遵循MCP协议规范,可与所有支持该协议的AI助手无缝集成

  4. 双向文件传输:不仅能执行命令,还支持本地与服务器之间的文件上传和下载

  5. 凭据隔离:SSH凭据完全在本地管理,永远不会暴露给AI模型,从根源上保障安全

  6. 即开即用:无需全局安装,通过NPX即可直接运行,部署便捷快速

支持的工具集

ssh-mcp-server 提供了一整套工具来满足服务器操作需求:

  • execute-command:在远程服务器上执行SSH命令并获取结果

  • upload:将本地文件上传到远程服务器的指定位置

  • download:从远程服务器下载文件到本地指定位置

  • list-servers:列出所有可用的SSH服务器配置

快速上手指南

使用 ssh-mcp-server 非常简单,无需复杂配置,通过NPX即可快速启动。以下是几种常见场景的配置示例:

1. 使用密码认证

json 复制代码
{

  "mcpServers": {

    "ssh-mpc-server": {

      "command": "npx",

      "args": [

        "-y",

        "@fangjunjie/ssh-mcp-server",

        "--host 192.168.1.1",

        "--port 22",

        "--username root",

        "--password your_password"

      ]

    }

  }

}

2. 使用私钥认证

json 复制代码
{

  "mcpServers": {

    "ssh-mpc-server": {

      "command": "npx",

      "args": [

        "-y",

        "@fangjunjie/ssh-mcp-server",

        "--host 192.168.1.1",

        "--port 22",

        "--username root",

        "--privateKey ~/.ssh/id_rsa"

      ]

    }

  }

}

3. 使用带密码的私钥

json 复制代码
{

  "mcpServers": {

    "ssh-mpc-server": {

      "command": "npx",

      "args": [

        "-y",

        "@fangjunjie/ssh-mcp-server",

        "--host 192.168.1.1",

        "--port 22",

        "--username root",

        "--privateKey ~/.ssh/id_rsa",

        "--passphrase your_passphrase"

      ]

    }

  }

}

高级功能:命令安全控制

ssh-mcp-server 最具特色的功能之一是命令安全控制,通过黑白名单机制可以精确限制AI能够执行的命令:

白名单示例

只允许执行 ls、cat 和 df 相关命令:

json 复制代码
{

  "mcpServers": {

    "ssh-mpc-server": {

      "command": "npx",

      "args": [

        "-y",

        "@fangjunjie/ssh-mcp-server",

        "--host 192.168.1.1",

        "--port 22",

        "--username root",

        "--password your_password",

        "--whitelist ^ls( .*)?,^cat .*,^df.*"

      ]

    }

  }

}

黑名单示例

禁止执行 rm、shutdown 和 reboot 等危险命令:

json 复制代码
{

  "mcpServers": {

    "ssh-mpc-server": {

      "command": "npx",

      "args": [

        "-y",

        "@fangjunjie/ssh-mcp-server",

        "--host 192.168.1.1",

        "--port 22",

        "--username root",

        "--password your_password",

        "--blacklist ^rm .*,^shutdown.*,^reboot.*"

      ]

    }

  }

}

注意:如果同时指定了白名单和黑名单,系统会先检查命令是否在白名单中,然后再检查是否在黑名单中。命令必须同时通过两项检查才能被执行。

多服务器管理

对于需要管理多个服务器的场景,ssh-mcp-server 提供了便捷的多连接支持:

bash 复制代码
npx @fangjunjie/ssh-mcp-server \

  --ssh "name=dev,host=1.2.3.4,port=22,user=alice,password=xxx" \

  --ssh "name=prod,host=5.6.7.8,port=22,user=bob,password=yyy"

在使用时,只需通过 connectionName 参数指定目标服务器:

json 复制代码
{

  "tool": "execute-command",

  "params": {

    "cmdString": "ls -al",

    "connectionName": "prod"

  }

}

总结

ssh-mcp-server 为AI助手与远程服务器之间搭建了一座安全、高效的桥梁。它通过MCP协议标准化了服务器操作接口,同时采用本地凭据管理和命令过滤机制保障了系统安全。无论是个人开发者还是企业团队,都能通过这个工具大幅提升AI辅助开发的效率。

如果你经常需要在开发过程中操作远程服务器,同时希望借助AI助手提高工作效率,那么 ssh-mcp-server 绝对值得一试。项目采用ISC开源协议,欢迎贡献代码或提出改进建议!

相关推荐
Eloudy1 小时前
《Attention Is All You Need》的 Encoder–Decoder Transformer 一次完整训练
llm·transformer
第404块砖头2 小时前
Spring Boot 4.1 + Spring AI 2.0:我如何用 Java 微服务把 RAG、知识图谱和 MCP 协议串成一个 Agent 平台
知识图谱·知识库·graph·rag·mcp·spring boot 4.1·spring ai 2.0
lucas_AI2 小时前
自蒸馏也讲究因材施教:让每个 token 自己挑老师,数学推理白捡 5.9 分
llm
xrlfreedom2 小时前
MCP 面试高频考点:把知识库 RAG 封装成 Tool 时,提示注入防护与人机协同确认怎么答?
mcp·提示注入防护·人机协同确认
情 九11 小时前
MCP 实战 06:把 HTTP 接口接成工具,让 AI 帮你查数据
人工智能·网络协议·http·mcp
ZhengEnCi16 小时前
同样的模型,为什么本地和云 API 差别那么大:量化精度、聊天模板与采样参数的三大元凶
人工智能·算法·llm
lgcgkCQ16 小时前
【AI 转型实战 1】SpringAI 入门:搭建基础大模型对话能力
java·ai·agent·rag·spring ai·mcp·langchain4j
goehou16 小时前
ReAct 循环跑偏的三种样子,以及怎么在工程上兜住
llm·agent·react·工具调用·工程实践
ZhengEnCi19 小时前
Agent 如何进行工具调用:从一次 Function Calling 到生产级工具编排的完整链路
llm·agent·ai编程
情 九19 小时前
MCP 实战 04:把自己的工具接进 Cherry Studio
mcp