首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
mcp-server-ssh2025-05-210分享
github
针对模型上下文协议的安全SSH服务器实现, enables远程命令执行和文件操作,同时支持基于密码和密钥的身份验证。
By shaike1
2025-05-210
github
详情内容

MCP SSH 服务器

一个强大的 SSH 服务器实现,用于模型上下文协议 (MCP)。该服务器通过 SSH 协议启用安全的远程命令执行和文件操作,支持基于密码和密钥的身份验证。

特性

  • ✨ 安全的 SSH 连接管理
  • 🔑 基于密码和密钥的身份验证
  • 💻 远程命令执行
  • 📁 文件操作(上传/下载)
  • 📊 文件传输进度跟踪
  • 🔐 权限管理
  • 📂 目录操作
  • 🚀 批量文件传输
  • 📝 详细日志记录

安装

  1. 安装软件包:
npm install mcp-ssh
  1. 添加到你的 Claude 桌面配置 (claude_desktop_config.json) 中:
{
  "mcpServers": {
    "ssh": {
      "command": "node",
      "args": ["%APPDATA%/npm/node_modules/mcp-ssh/dist/server.js"],
      "env": {
        "SSH_PORT": "8889",
        "SSH_LOG_LEVEL": "info"
      }
    }
  }
}

使用方法

密码认证

$body = @{
    id = "test"
    host = "example.com"
    port = 22
    username = "user"
    password = "pass123"
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:8889/connect" -Method Post -Body $body -ContentType "application/json"

密钥认证

$body = @{
    id = "test"
    host = "example.com"
    port = 22
    username = "user"
    privateKey = Get-Content ~/.ssh/id_rsa | Out-String
    passphrase = "optional-key-passphrase"  # if your key is protected
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:8889/connect" -Method Post -Body $body -ContentType "application/json"

执行命令

$execBody = @{
    id = "test"
    command = "ls -la"
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:8889/exec" -Method Post -Body $execBody -ContentType "application/json"

文件操作

# Upload file
$uploadForm = @{
    file = Get-Item -Path "localfile.txt"
    remotePath = "/remote/path/file.txt"
}
Invoke-RestMethod -Uri "http://localhost:8889/upload/test" -Method Post -Form $uploadForm

# Download file
Invoke-RestMethod -Uri "http://localhost:8889/download/test?remotePath=/remote/path/file.txt" -Method Get -OutFile "downloaded.txt"

目录操作

# List directory
Invoke-RestMethod -Uri "http://localhost:8889/ls/test?path=/remote/path" -Method Get

# Get connection status
Invoke-RestMethod -Uri "http://localhost:8889/status/test" -Method Get

开发

  1. 克隆仓库:
git clone https://github.com/shaike1/mcp-server-ssh.git
cd mcp-server-ssh
  1. 安装依赖项:
npm install
  1. 构建:
npm run build
  1. 启动服务器:
npm start

环境变量

  • SSH_PORT: 服务器端口(默认:8889)
  • SSH_LOG_LEVEL: 日志级别(默认:info)

贡献

  1. 叉分仓库
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

MIT

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档