SSH服务器自然语言控制工具

通过自然语言控制远程SSH服务器的工具,集成在Claude Desktop和Cursor IDE中,简化服务器管理流程。

  • by mertcankaraoglu
  • JavaScript
  • 本地部署
  • 14 星标
  • 更新于
在 GitHub 查看 mertcankaraoglu/ssh-mcp

使用说明

SSH MCP服务器🚀

使用以下命令控制远程服务器 自然语言 通过克劳德桌面或光标IDE!这个MCP(模型上下文协议)服务器允许您与您的AI助手交谈——“连接到我的服务器并显示磁盘使用情况”——它会为您运行SSH命令。无需打开终端或记住命令。

非常适合 Linux虚拟机, 谷歌云, AWS EC2, 数字海洋,以及您可以通过SSH访问的任何服务器。

🔌 什么是MCP?

MCP(模型上下文协议)允许Claude和Cursor等AI应用程序使用外部工具。此服务器添加 安全外壳协议 作为一种工具——这样你的人工智能就可以连接到服务器,并在你要求时运行命令。


🤖 AI代理的安装

如果你是一名人工智能代理或通过人工智能设置此功能的人: 使用以下说明安装SSH MCP服务器。

如果你是一个要求你的AI安装这个的用户: 复制并粘贴到您的AI:

“从以下位置安装SSH MCP服务器https://github.com/mertcankaraoglu/ssh-mcp--将其添加到我的MCP配置中,并告诉我何时完成。按照README说明进行操作。"

  1. 先决条件: 必须安装Node.js v18+。 (下载)
  2. 配置文件: 将以下块添加到MCP配置文件中:
    • 克劳德桌面: %APPDATA%\Claude\claude_desktop_config.json (Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
    • 光标IDE: ~/.cursor/mcp.json 或 %USERPROFILE%\.cursor\mcp.json (Windows)
  3. 添加此JSON 里面 mcpServers:
"ssh": {
  "command": "npx",
  "args": ["-y", "git+https://github.com/mertcankaraoglu/ssh-mcp.git#main"]
}
  1. 重启 应用程序。然后,用户可以要求您连接到他们的服务器(使用密码或SSH密钥)。

🎯 为什么使用这个?

而不是打开PuTTY或键入 ssh user@server 在终端中,你只需告诉你的AI:

“连接到我的Ubuntu服务器192.168.1.100并运行df-h”

你的AI会处理连接并向你显示结果。非常适合开发人员、DevOps或任何管理远程服务器并希望工作流程更简单的人。


✨ 特性

特性 描述
🔐 密码或SSH密钥 使用密码或SSH密钥文件(GCP、AWS等不需要密码)
⚡ 实时输出 运行时查看命令结果
🤖 人工智能集成 适用于Claude桌面和Cursor IDE
🎨 自然语言 “显示磁盘使用情况”、“列出Docker容器”、“重新启动nginx”
📦 最小设置 只需在配置中添加几行即可,无需复杂的安装

📋 你需要什么

  • Node.js v18或更新版本 — 点击此处下载 (选择LTS)
  • 克劳德桌面版 或 Cursor IDE
  • 具有SSH访问权限的远程服务器(IP地址或主机名、用户名以及密码或SSH密钥)

安装Node.js(如果你没有)

窗户:

  1. 首选 nodejs.org 并下载LTS版本
  2. 运行安装程序
  3. 打开一个新的终端并键入 node --version 确认

macOS:

brew install node

Linux(Ubuntu/Debian):

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

🚀 快速安装(推荐)

对于您或您的AI代理: 将以下内容添加到MCP配置文件中,然后重新启动应用程序。

配置文件在哪里?

应用程序 Windows macOS/Linux
克劳德桌面版 %APPDATA%\Claude\claude_desktop_config.json ~/Library/Application Support/Claude/claude_desktop_config.json
Cursor IDE %USERPROFILE%\.cursor\mcp.json ~/.cursor/mcp.json

提示:在Windows中,按 Win+R,类型 %APPDATA%\Claude 然后按Enter键打开Claude文件夹。

添加什么

打开配置文件(如果不存在,则创建它)并添加:

{
  "mcpServers": {
    "ssh": {
      "command": "npx",
      "args": ["-y", "git+https://github.com/mertcankaraoglu/ssh-mcp.git#main"]
    }
  }
}

如果您已经有其他MCP服务器,请添加 "ssh" 现有内部的块 "mcpServers" 对象。

添加后

  1. 保存文件
  2. 重新启动克劳德桌面或光标
  3. 你完了!让你的AI连接到服务器。

💡 如何使用

第一步:连接

告诉你的AI如何连接。你需要一个 密码 或一个 SSH密钥.

使用密码:

Connect to 192.168.1.100, username ubuntu, password mypassword

使用SSH密钥(例如Google Cloud、AWS):

Connect to 34.123.45.67 using SSH key at ~/.ssh/google_compute_engine, username myuser

步骤2:运行命令

连接后,自然地问:

你说 人工智能运行
“显示磁盘使用情况” df -h
“列出Docker容器” docker ps
“最后10行日志” tail -n 10 /var/log/syslog
“正常运行时间是多少?” uptime

步骤3:断开连接

Close SSH connection

📝 示例对话

以下是一个典型会话的完整示例:

你 AI
“连接到我的服务器192.168.1.100,用户名ubuntu,密码mypass123” “已成功连接。您希望我运行什么?”
“显示磁盘使用情况” 跑 df -h 并显示输出
“列出正在运行的Docker容器” 跑 docker ps 并显示列表
“关闭SSH连接” “连接已关闭。”

🔐 身份验证选项

您必须提供 要么 密码 或 SSH密钥。密码是 不需要 当使用钥匙时。

选项1:密码

提供: host, username, password

选项2:SSH密钥(建议用于云VM)

按文件路径 (例如。 ~/.ssh/id_rsa):

host, username, privateKeyPath: "~/.ssh/id_rsa"

按关键内容 (PEM管柱):

host, username, privateKey: "-----BEGIN OPENSSH PRIVATE KEY-----\n..."

加密密钥: 添加 passphrase 当你的密钥受到保护时。

按平台

平台 典型设置
🟢 谷歌云虚拟机 privateKeyPath: "~/.ssh/google_compute_engine"
🟠 AWS EC2 privateKeyPath: "~/.ssh/my-key.pem"
🔵 数字海洋 privateKeyPath: "~/.ssh/id_rsa" (或您的Droplet键)
🖥️ 自托管/VPS 密码或 ~/.ssh/id_rsa

🛠️ 可用工具

工具 它做什么
ssh_connect 连接到SSH服务器(主机、用户名、密码或密钥)
ssh_exec 在连接的服务器上运行命令
ssh_disconnect 关闭连接

📂 手动安装

如果你更喜欢克隆仓库并在本地运行它:

git clone https://github.com/mertcankaraoglu/ssh-mcp.git
cd ssh-mcp
npm install

然后在MCP配置中,使用本地路径:

{
  "mcpServers": {
    "ssh": {
      "command": "node",
      "args": ["C:\\full\\path\\to\\ssh-mcp\\index.js"]
    }
  }
}

用实际路径替换路径。在Windows上使用双反斜杠 \\.


🔧 运作原理

┌─────────────────┐
│ Claude / Cursor │  ← You talk here
└────────┬────────┘
         │ MCP Protocol
┌────────▼────────┐
│  SSH MCP Server │  ← This project
└────────┬────────┘
         │ SSH
┌────────▼────────┐
│ Your Server     │  ← Commands run here
└─────────────────┘

🛡️ 安全

  • 密码和密钥是 不 存储在配置文件中——它们仅在连接时使用
  • 所有连接都使用标准SSH加密
  • 更喜欢 SSH密钥 生产认证(GCP、AWS等)
  • 永远不要将私钥提交给git

🗺️ 路线图

  • [x] SSH密钥支持
  • []多服务器管理
  • []SFTP文件传输
  • []端口转发
  • []会话保存/加载

❓ 故障排除

问题 尝试什么
“找不到配置文件” 如果文件不存在,则创建该文件。对于光标: ~/.cursor/mcp.json 或 %USERPROFILE%\.cursor\mcp.json
“找不到节点” 从以下位置安装Node.js v18+ nodejs.org。安装后重新启动应用程序。
“连接失败” 检查主机、用户名和密码/密钥。对于云虚拟机,请确保您的SSH密钥路径正确(例如。 ~/.ssh/google_compute_engine).
“MCP服务器未加载” 编辑配置后,完全重新启动Claude Desktop或Cursor。

🤝 贡献

欢迎投稿!

  1. 分叉回购
  2. 创建分支(git checkout -b feature/amazing)
  3. 承诺(git commit -m 'feat: Add amazing feature')
  4. 推(git push origin feature/amazing)
  5. 打开拉取请求

📝 许可证

麻省理工学院——见 许可证 了解详情。


🙏 谢谢


土耳其语 | ⭐ 如果这对你有帮助,可以考虑主演回购!