-
Notifications
You must be signed in to change notification settings - Fork 0
Config Guide
licco edited this page Aug 2, 2026
·
1 revision
方式一:设置环境变量(推荐)
# 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 | 默认行为 |
# 成熟稳定的 SSH2 实现
import paramiko
ssh = paramiko.SSHClient()
ssh.connect(host, username=user, password=pwd)优点:
- ✅ 稳定可靠
- ✅ 文档丰富
- ✅ 社区支持好
缺点:
- ❌ 同步阻塞
- ❌ 并发性能一般
# 异步 SSH2 实现
import asyncssh
async with asyncssh.connect(host, username=user) as conn:
result = await conn.run('ls -la')优点:
- ✅ 异步非阻塞
- ✅ 高性能
- ✅ 支持高并发
缺点:
- ❌ 需要异步编程知识
# 简化的 SSH 工具
from fabric import Connection
c = Connection(host, user=user)
result = c.run('ls -la')优点:
- ✅ API 简洁
- ✅ 快速开发
- ✅ 运维友好
缺点:
- ❌ 基于 paramiko
- ❌ 额外依赖
设置环境变量:
# 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:设置环境变量
$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}"
}
}
}
}{
"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"
}
}
}
}{
"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 服务器使配置生效