-
Notifications
You must be signed in to change notification settings - Fork 0
Security Quick Config
licco edited this page Aug 2, 2026
·
3 revisions
错误信息: 命令包含危险字符 |,可能被用于命令注入
快速解决:
在 MCP 配置中添加:
{
"mcpServers": {
"ssh": {
"command": "ssh-licco",
"env": {
"SSH_SECURITY_LEVEL": "relaxed"
}
}
}
}{
"mcpServers": {
"ssh": {
"command": "ssh-licco",
"env": {
"SSH_EXTRA_ALLOWED_PATTERNS": "|,>,<,&,;"
}
}
}
}错误信息: 命令 'xxx' 不在允许列表中
快速解决:
{
"mcpServers": {
"ssh": {
"command": "ssh-licco",
"env": {
"SSH_EXTRA_ALLOWED_COMMANDS": "被阻止的命令 1,被阻止的命令 2"
}
}
}
}示例:
{
"SSH_EXTRA_ALLOWED_COMMANDS": "kubectl,helm,terraform,ansible"
}| 级别 | 名称 | 适用场景 | 允许的字符 | 安全评分 |
|---|---|---|---|---|
| strict | 严格模式 | 生产环境、公共服务器 | 基础字符 | ⭐⭐⭐ 最高 |
| balanced | 平衡模式 | 开发环境、个人服务器(默认) | ` |
, ;` |
| relaxed | 宽松模式 | 测试环境、完全信任 | 大部分字符 | ⭐ 中等 |
{
"mcpServers": {
"ssh": {
"command": "ssh-licco",
"env": {
"SSH_SECURITY_LEVEL": "balanced",
"SSH_EXTRA_ALLOWED_COMMANDS": "git,npm,docker,composer,pm2",
"SSH_BASE_DIR": "/var/www"
}
}
}
}{
"mcpServers": {
"ssh": {
"command": "ssh-licco",
"env": {
"SSH_SECURITY_LEVEL": "relaxed",
"SSH_EXTRA_ALLOWED_COMMANDS": "kubectl,helm,terraform,ansible,kustomize",
"SSH_EXTRA_ALLOWED_PATTERNS": "|,>,<,&,;,`,$()"
}
}
}
}{
"mcpServers": {
"ssh": {
"command": "ssh-licco",
"env": {
"SSH_SECURITY_LEVEL": "balanced",
"SSH_EXTRA_ALLOWED_COMMANDS": "psql,mysql,mongosh,pg_isready,mysqldump"
}
}
}
}{
"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 会显示当前的安全级别和允许的命令列表。
-
开发环境: 使用
balanced或relaxed -
生产环境: 使用
strict或balanced -
公共服务器: 始终使用
strict - 个人服务器: 可根据信任度选择
- ❌ 不要在生产环境使用
relaxed模式 - ❌ 不要随意添加
sudo到允许列表 - ✅ 定期审查
SSH_EXTRA_ALLOWED_COMMANDS - ✅ 使用密钥认证代替密码认证
- ✅ 限制
SSH_BASE_DIR防止目录遍历