Skip to content

Security Quick Config

licco edited this page Aug 2, 2026 · 3 revisions

🔧 安全策略快速配置指南

🛑 当命令被阻止时

情况 1: 管道命令被阻止(如 docker images | grep xxx

错误信息: 命令包含危险字符 |,可能被用于命令注入

快速解决:

方式 A: 调整安全级别(推荐)

在 MCP 配置中添加:

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_SECURITY_LEVEL": "relaxed"
      }
    }
  }
}

方式 B: 添加允许的字符

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_EXTRA_ALLOWED_PATTERNS": "|,>,<,&,;"
      }
    }
  }
}

情况 2: 特定命令被阻止

错误信息: 命令 'xxx' 不在允许列表中

快速解决:

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_EXTRA_ALLOWED_COMMANDS": "被阻止的命令 1,被阻止的命令 2"
      }
    }
  }
}

示例:

{
  "SSH_EXTRA_ALLOWED_COMMANDS": "kubectl,helm,terraform,ansible"
}

📊 安全级别说明

级别 名称 适用场景 允许的字符 安全评分
strict 严格模式 生产环境、公共服务器 基础字符 ⭐⭐⭐ 最高
balanced 平衡模式 开发环境、个人服务器(默认) ` , ;`
relaxed 宽松模式 测试环境、完全信任 大部分字符 ⭐ 中等

🎯 常见场景配置

场景 1: Web 开发者

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_SECURITY_LEVEL": "balanced",
        "SSH_EXTRA_ALLOWED_COMMANDS": "git,npm,docker,composer,pm2",
        "SSH_BASE_DIR": "/var/www"
      }
    }
  }
}

场景 2: DevOps 工程师

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_SECURITY_LEVEL": "relaxed",
        "SSH_EXTRA_ALLOWED_COMMANDS": "kubectl,helm,terraform,ansible,kustomize",
        "SSH_EXTRA_ALLOWED_PATTERNS": "|,>,<,&,;,`,$()"
      }
    }
  }
}

场景 3: 数据库管理员

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_SECURITY_LEVEL": "balanced",
        "SSH_EXTRA_ALLOWED_COMMANDS": "psql,mysql,mongosh,pg_isready,mysqldump"
      }
    }
  }
}

场景 4: 系统管理员

{
  "mcpServers": {
    "ssh": {
      "command": "ssh-licco",
      "env": {
        "SSH_SECURITY_LEVEL": "relaxed",
        "SSH_EXTRA_ALLOWED_COMMANDS": "sudo,apt,yum,systemctl,journalctl,docker,kubectl,firewall-cmd"
      }
    }
  }
}

⚡ 快速测试

修改配置后,执行以下命令测试:

# 测试管道命令
docker images | grep myapp

# 测试重定向
echo "test" > /tmp/test.txt

# 测试命令替换
date +%Y-%m-%d

# 测试后台执行
python app.py &

🔍 查看当前配置

在 MCP 中执行:

查看当前 SSH 安全配置

AI 会显示当前的安全级别和允许的命令列表。

💡 最佳实践

  1. 开发环境: 使用 balancedrelaxed
  2. 生产环境: 使用 strictbalanced
  3. 公共服务器: 始终使用 strict
  4. 个人服务器: 可根据信任度选择

⚠️ 安全提醒

  • ❌ 不要在生产环境使用 relaxed 模式
  • ❌ 不要随意添加 sudo 到允许列表
  • ✅ 定期审查 SSH_EXTRA_ALLOWED_COMMANDS
  • ✅ 使用密钥认证代替密码认证
  • ✅ 限制 SSH_BASE_DIR 防止目录遍历

📖 更多资源

Clone this wiki locally