Skip to content

Config Guide

licco edited this page Aug 2, 2026 · 1 revision

SSH 客户端配置指南

🎯 快速开始

配置方式(2 选 1)

方式一:设置环境变量(推荐)

# Windows PowerShell
$env:SSH_CLIENT_TYPE="performance"

# Linux/Mac
export SSH_CLIENT_TYPE=performance

方式二:修改配置文件

复制配置模板:

cd config
cp mcp.user.config.json.example mcp.user.config.json

编辑 config/mcp.user.config.json

{
  "env": {
    "SSH_CLIENT_TYPE": "performance"
  }
}

🔧 可选值说明

名称 技术栈 特点 适用场景
common 通用场景 paramiko 稳定可靠,文档丰富 ⭐ 通用场景(推荐)
performance 性能模式 asyncssh 异步高性能,支持高并发 🚀 高并发场景
development 开发模式 fabric API 简洁,运维友好 👨‍💻 快速开发
不填写 默认 paramiko 自动使用 common 默认行为

📊 技术栈对比

common (paramiko - 默认)

# 成熟稳定的 SSH2 实现
import paramiko
ssh = paramiko.SSHClient()
ssh.connect(host, username=user, password=pwd)

优点:

  • ✅ 稳定可靠
  • ✅ 文档丰富
  • ✅ 社区支持好

缺点:

  • ❌ 同步阻塞
  • ❌ 并发性能一般

performance (asyncssh - 高性能)

# 异步 SSH2 实现
import asyncssh
async with asyncssh.connect(host, username=user) as conn:
    result = await conn.run('ls -la')

优点:

  • ✅ 异步非阻塞
  • ✅ 高性能
  • ✅ 支持高并发

缺点:

  • ❌ 需要异步编程知识

development (fabric - 开发)

# 简化的 SSH 工具
from fabric import Connection
c = Connection(host, user=user)
result = c.run('ls -la')

优点:

  • ✅ API 简洁
  • ✅ 快速开发
  • ✅ 运维友好

缺点:

  • ❌ 基于 paramiko
  • ❌ 额外依赖

🔐 凭证配置方式(2 种都支持)

方式一:环境变量(推荐 - 安全)

设置环境变量:

# Windows PowerShell
$env:SSH_HOST="43.143.207.242"
$env:SSH_USER="root"
$env:SSH_PASSWORD="your_password"
$env:SSH_CLIENT_TYPE="common"

# Linux/Mac
export SSH_HOST="43.143.207.242"
export SSH_USER="root"
export SSH_PASSWORD="your_password"
export SSH_CLIENT_TYPE="common"

配置文件:

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_HOST": "${SSH_HOST}",
        "SSH_USER": "${SSH_USER}",
        "SSH_PASSWORD": "${SSH_PASSWORD}",
        "SSH_PORT": "22",
        "SSH_CLIENT_TYPE": "${SSH_CLIENT_TYPE}"
      }
    }
  }
}

优点:

  • ✅ 安全,密码不会出现在配置文件中
  • ✅ 可以安全地提交配置文件到 Git
  • ✅ 不同环境使用不同的环境变量

方式二:明文配置(方便 - 本地开发)

配置文件(直接填写密码):

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_HOST": "43.143.207.242",
        "SSH_USER": "root",
        "SSH_PASSWORD": "your_password",
        "SSH_PORT": "22",
        "SSH_CLIENT_TYPE": "common"
      }
    }
  }
}

优点:

  • ✅ 简单方便,不需要设置环境变量
  • ✅ 适合本地开发测试

⚠️ 注意事项:

  • ❌ 不要将包含明文密码的配置文件提交到 Git
  • ❌ 不要在生产环境使用明文密码
  • ⚠️ 确保配置文件的权限设置正确(仅所有者可读)

📝 完整配置示例

示例 1:使用环境变量(推荐)

步骤 1:设置环境变量

$env:SSH_HOST="43.143.207.242"
$env:SSH_USER="root"
$env:SSH_PASSWORD="P/[KY}+wa7?2|uc"
$env:SSH_CLIENT_TYPE="performance"

步骤 2:配置文件

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_HOST": "${SSH_HOST}",
        "SSH_USER": "${SSH_USER}",
        "SSH_PASSWORD": "${SSH_PASSWORD}",
        "SSH_PORT": "22",
        "SSH_CLIENT_TYPE": "${SSH_CLIENT_TYPE}"
      }
    }
  }
}

示例 2:使用明文配置(本地开发)

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_HOST": "43.143.207.242",
        "SSH_USER": "root",
        "SSH_PASSWORD": "P/[KY}+wa7?2|uc",
        "SSH_PORT": "22",
        "SSH_CLIENT_TYPE": "common"
      }
    }
  }
}

示例 3:混合使用(灵活)

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_HOST": "${SSH_HOST}",
        "SSH_USER": "${SSH_USER}",
        "SSH_PASSWORD": "P/[KY}+wa7?2|uc",
        "SSH_PORT": "22",
        "SSH_CLIENT_TYPE": "${SSH_CLIENT_TYPE}"
      }
    }
  }
}

❓ 常见问题

Q: 不配置 SSH_CLIENT_TYPE 会怎样? A: 默认使用 common(paramiko),这是最稳定可靠的选择

Q: 哪个最快? A: performance(asyncssh)最快,适合高并发场景

Q: 如何选择? A:

  • 通用场景 → common(paramiko)⭐推荐
  • 高并发/大规模自动化 → performance(asyncssh)🚀
  • 运维脚本/快速开发 → development(fabric)👨‍💻

Q: 环境变量和配置文件哪个优先级高? A: 配置文件中的值会覆盖环境变量。如果配置文件中写死了值,就使用配置文件中的值;如果使用 ${VAR} 语法,就会读取环境变量

Q: 配置后需要重启吗? A: 需要重启 MCP 服务器使配置生效

📚 参考资源

Clone this wiki locally