ssh-licco 2.3.0__tar.gz → 2.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ssh_licco-2.3.0/ssh_licco.egg-info → ssh_licco-2.3.1}/PKG-INFO +39 -1
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/README.md +38 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/pyproject.toml +1 -1
- {ssh_licco-2.3.0 → ssh_licco-2.3.1/ssh_licco.egg-info}/PKG-INFO +39 -1
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/__init__.py +2 -2
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/LICENSE +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/setup.cfg +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_licco.egg-info/SOURCES.txt +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_licco.egg-info/dependency_links.txt +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_licco.egg-info/entry_points.txt +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_licco.egg-info/requires.txt +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_licco.egg-info/top_level.txt +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/__main__.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/audit_logger.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/batch_executor.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/cli.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/clients/__init__.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/clients/additional_clients.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/clients/factory.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/clients/interface.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/clients/paramiko_client.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/config_manager.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/connection_config.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/connection_pool.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/exceptions.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/executor.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/__init__.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/connect.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/context.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/docker.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/execute.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/file_transfer.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/host.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/key.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/process.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/schemas.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/session.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/handlers/utils.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/key_manager.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/logging_config.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/runtime_guard.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/secret_provider.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/security.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/server.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/service.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/session_manager.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/tunnel.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/ssh_mcp/watchdog.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/tests/test_config_manager.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/tests/test_key_manager.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/tests/test_security.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/tests/test_server.py +0 -0
- {ssh_licco-2.3.0 → ssh_licco-2.3.1}/tests/test_session_manager.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ssh-licco
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.1
|
|
4
4
|
Summary: SSH Model Context Protocol Server - Enable SSH functionality for AI models
|
|
5
5
|
Author-email: SSH LICCO Team <contact@ssh-licco.dev>
|
|
6
6
|
License: MIT
|
|
@@ -453,6 +453,44 @@ localhost:5432 - accepting connections
|
|
|
453
453
|
|
|
454
454
|
- **[MCP_CONFIG_GUIDE.md](MCP_CONFIG_GUIDE.md)** - 包含所有配置选项的详细说明
|
|
455
455
|
|
|
456
|
+
### 🌐 完整环境变量速查(v2.3.0)
|
|
457
|
+
|
|
458
|
+
> 下表所有变量均被代码读取。**注意**:
|
|
459
|
+
> - `SSH_RATE_LIMIT` 是 **bool** 总开关(true/false),`SSH_RATE_LIMIT_MAX` 才是次数上限,两者分开配置
|
|
460
|
+
> - 主机密钥检查(strict_host_key_checking)**不通过 env 配置**,请用 `ssh_connect` 工具参数或 `hosts.json`
|
|
461
|
+
> - 详细分组说明见 [docs/SECURITY_HARDENING.md#环境变量速查](docs/SECURITY_HARDENING.md#环境变量速查v230-完整列表)
|
|
462
|
+
|
|
463
|
+
| 分类 | 变量 | 默认 | 说明 |
|
|
464
|
+
|------|------|------|------|
|
|
465
|
+
| **安全** | `SSH_SECURITY_LEVEL` | `balanced` | 安全级别:`strict` / `balanced` / `relaxed` |
|
|
466
|
+
| | `SSH_BASE_DIR` | `/home` | 路径校验基目录 |
|
|
467
|
+
| | `SSH_EXTRA_ALLOWED_COMMANDS` | (空) | 额外允许的命令(逗号分隔) |
|
|
468
|
+
| | `SSH_ALLOWED_COMMANDS_FILE` | (空) | 命令白名单 JSON 文件路径 |
|
|
469
|
+
| | `SSH_AUDIT_LOG_PATH` | (空) | 审计日志文件路径 |
|
|
470
|
+
| **限流** | `SSH_RATE_LIMIT` | `true` | 限流总开关(bool) |
|
|
471
|
+
| | `SSH_RATE_LIMIT_MAX` | `30` | 限流次数上限 |
|
|
472
|
+
| | `SSH_RATE_LIMIT_WINDOW` | `60` | 限流窗口(秒) |
|
|
473
|
+
| **加固点 1** | `SSH_RUNTIME_GUARD` | `false` | runtime guard 总开关 |
|
|
474
|
+
| | `SSH_RUNTIME_ALLOW_ROOT` | `false` | 是否允许 root 启动 |
|
|
475
|
+
| | `SSH_RUNTIME_ALLOWED_USERS` | (空) | 允许启动的账号白名单 |
|
|
476
|
+
| | `SSH_RUNTIME_BLOCK_SUDO` | `true` | 是否拦截 sudo 上下文 |
|
|
477
|
+
| **加固点 2** | `SSH_SECRET_PROVIDER_ENABLED` | `false` | secret provider 总开关 |
|
|
478
|
+
| | `SSH_SECRET_PROVIDER` | `env` | 凭证 provider:`env` / `command` / `http` |
|
|
479
|
+
| | `SSH_SECRET_ENV_KEY_<NAME>` | — | env provider:私钥环境变量 |
|
|
480
|
+
| | `SSH_SECRET_COMMAND_<NAME>` | — | command provider:拉取私钥的命令 |
|
|
481
|
+
| | `SSH_SECRET_HTTP_URL_<NAME>` | — | http provider:拉取私钥的 URL |
|
|
482
|
+
| | `SSH_SECRET_HTTP_TOKEN` | — | http provider:Bearer token |
|
|
483
|
+
| | `SSH_SECRET_HTTP_TIMEOUT` | `15` | http provider:HTTP 超时(秒) |
|
|
484
|
+
| **加固点 3** | `SSH_REMOTE_GUARD` | `false` | 远端元字符拦截总开关 |
|
|
485
|
+
| **加固点 4** | *(无 env)* | — | 灾难性命令硬拦截,零配置零绕过 |
|
|
486
|
+
| **连接默认** | `SSH_HOST` / `SSH_PORT` / `SSH_USER` / `SSH_PASSWORD` | `127.0.0.1` / `22` / `root` / (空) | 单 host 模式默认连接参数 |
|
|
487
|
+
| | `SSH_TIMEOUT` | `60` | 连接超时(秒) |
|
|
488
|
+
| | `SSH_KEEPALIVE_INTERVAL` | `30` | keepalive 间隔(秒) |
|
|
489
|
+
| | `SSH_SESSION_TIMEOUT` | `7200` | 会话超时(秒) |
|
|
490
|
+
| | `SSH_CLIENT_TYPE` | `paramiko` | SSH 客户端实现:`paramiko` / `asyncssh` |
|
|
491
|
+
| | `SSH_FORCE_ENV_CONFIG` | `false` | 强制 env 配置覆盖 hosts.json |
|
|
492
|
+
| | `SSH_SUDO_PASSWORD` | (空) | sudo 密码,配合 `use_sudo=true` 走 `sudo -S` |
|
|
493
|
+
|
|
456
494
|
---
|
|
457
495
|
|
|
458
496
|
## ⚠️ 依赖版本兼容性
|
|
@@ -420,6 +420,44 @@ localhost:5432 - accepting connections
|
|
|
420
420
|
|
|
421
421
|
- **[MCP_CONFIG_GUIDE.md](MCP_CONFIG_GUIDE.md)** - 包含所有配置选项的详细说明
|
|
422
422
|
|
|
423
|
+
### 🌐 完整环境变量速查(v2.3.0)
|
|
424
|
+
|
|
425
|
+
> 下表所有变量均被代码读取。**注意**:
|
|
426
|
+
> - `SSH_RATE_LIMIT` 是 **bool** 总开关(true/false),`SSH_RATE_LIMIT_MAX` 才是次数上限,两者分开配置
|
|
427
|
+
> - 主机密钥检查(strict_host_key_checking)**不通过 env 配置**,请用 `ssh_connect` 工具参数或 `hosts.json`
|
|
428
|
+
> - 详细分组说明见 [docs/SECURITY_HARDENING.md#环境变量速查](docs/SECURITY_HARDENING.md#环境变量速查v230-完整列表)
|
|
429
|
+
|
|
430
|
+
| 分类 | 变量 | 默认 | 说明 |
|
|
431
|
+
|------|------|------|------|
|
|
432
|
+
| **安全** | `SSH_SECURITY_LEVEL` | `balanced` | 安全级别:`strict` / `balanced` / `relaxed` |
|
|
433
|
+
| | `SSH_BASE_DIR` | `/home` | 路径校验基目录 |
|
|
434
|
+
| | `SSH_EXTRA_ALLOWED_COMMANDS` | (空) | 额外允许的命令(逗号分隔) |
|
|
435
|
+
| | `SSH_ALLOWED_COMMANDS_FILE` | (空) | 命令白名单 JSON 文件路径 |
|
|
436
|
+
| | `SSH_AUDIT_LOG_PATH` | (空) | 审计日志文件路径 |
|
|
437
|
+
| **限流** | `SSH_RATE_LIMIT` | `true` | 限流总开关(bool) |
|
|
438
|
+
| | `SSH_RATE_LIMIT_MAX` | `30` | 限流次数上限 |
|
|
439
|
+
| | `SSH_RATE_LIMIT_WINDOW` | `60` | 限流窗口(秒) |
|
|
440
|
+
| **加固点 1** | `SSH_RUNTIME_GUARD` | `false` | runtime guard 总开关 |
|
|
441
|
+
| | `SSH_RUNTIME_ALLOW_ROOT` | `false` | 是否允许 root 启动 |
|
|
442
|
+
| | `SSH_RUNTIME_ALLOWED_USERS` | (空) | 允许启动的账号白名单 |
|
|
443
|
+
| | `SSH_RUNTIME_BLOCK_SUDO` | `true` | 是否拦截 sudo 上下文 |
|
|
444
|
+
| **加固点 2** | `SSH_SECRET_PROVIDER_ENABLED` | `false` | secret provider 总开关 |
|
|
445
|
+
| | `SSH_SECRET_PROVIDER` | `env` | 凭证 provider:`env` / `command` / `http` |
|
|
446
|
+
| | `SSH_SECRET_ENV_KEY_<NAME>` | — | env provider:私钥环境变量 |
|
|
447
|
+
| | `SSH_SECRET_COMMAND_<NAME>` | — | command provider:拉取私钥的命令 |
|
|
448
|
+
| | `SSH_SECRET_HTTP_URL_<NAME>` | — | http provider:拉取私钥的 URL |
|
|
449
|
+
| | `SSH_SECRET_HTTP_TOKEN` | — | http provider:Bearer token |
|
|
450
|
+
| | `SSH_SECRET_HTTP_TIMEOUT` | `15` | http provider:HTTP 超时(秒) |
|
|
451
|
+
| **加固点 3** | `SSH_REMOTE_GUARD` | `false` | 远端元字符拦截总开关 |
|
|
452
|
+
| **加固点 4** | *(无 env)* | — | 灾难性命令硬拦截,零配置零绕过 |
|
|
453
|
+
| **连接默认** | `SSH_HOST` / `SSH_PORT` / `SSH_USER` / `SSH_PASSWORD` | `127.0.0.1` / `22` / `root` / (空) | 单 host 模式默认连接参数 |
|
|
454
|
+
| | `SSH_TIMEOUT` | `60` | 连接超时(秒) |
|
|
455
|
+
| | `SSH_KEEPALIVE_INTERVAL` | `30` | keepalive 间隔(秒) |
|
|
456
|
+
| | `SSH_SESSION_TIMEOUT` | `7200` | 会话超时(秒) |
|
|
457
|
+
| | `SSH_CLIENT_TYPE` | `paramiko` | SSH 客户端实现:`paramiko` / `asyncssh` |
|
|
458
|
+
| | `SSH_FORCE_ENV_CONFIG` | `false` | 强制 env 配置覆盖 hosts.json |
|
|
459
|
+
| | `SSH_SUDO_PASSWORD` | (空) | sudo 密码,配合 `use_sudo=true` 走 `sudo -S` |
|
|
460
|
+
|
|
423
461
|
---
|
|
424
462
|
|
|
425
463
|
## ⚠️ 依赖版本兼容性
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ssh-licco
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.1
|
|
4
4
|
Summary: SSH Model Context Protocol Server - Enable SSH functionality for AI models
|
|
5
5
|
Author-email: SSH LICCO Team <contact@ssh-licco.dev>
|
|
6
6
|
License: MIT
|
|
@@ -453,6 +453,44 @@ localhost:5432 - accepting connections
|
|
|
453
453
|
|
|
454
454
|
- **[MCP_CONFIG_GUIDE.md](MCP_CONFIG_GUIDE.md)** - 包含所有配置选项的详细说明
|
|
455
455
|
|
|
456
|
+
### 🌐 完整环境变量速查(v2.3.0)
|
|
457
|
+
|
|
458
|
+
> 下表所有变量均被代码读取。**注意**:
|
|
459
|
+
> - `SSH_RATE_LIMIT` 是 **bool** 总开关(true/false),`SSH_RATE_LIMIT_MAX` 才是次数上限,两者分开配置
|
|
460
|
+
> - 主机密钥检查(strict_host_key_checking)**不通过 env 配置**,请用 `ssh_connect` 工具参数或 `hosts.json`
|
|
461
|
+
> - 详细分组说明见 [docs/SECURITY_HARDENING.md#环境变量速查](docs/SECURITY_HARDENING.md#环境变量速查v230-完整列表)
|
|
462
|
+
|
|
463
|
+
| 分类 | 变量 | 默认 | 说明 |
|
|
464
|
+
|------|------|------|------|
|
|
465
|
+
| **安全** | `SSH_SECURITY_LEVEL` | `balanced` | 安全级别:`strict` / `balanced` / `relaxed` |
|
|
466
|
+
| | `SSH_BASE_DIR` | `/home` | 路径校验基目录 |
|
|
467
|
+
| | `SSH_EXTRA_ALLOWED_COMMANDS` | (空) | 额外允许的命令(逗号分隔) |
|
|
468
|
+
| | `SSH_ALLOWED_COMMANDS_FILE` | (空) | 命令白名单 JSON 文件路径 |
|
|
469
|
+
| | `SSH_AUDIT_LOG_PATH` | (空) | 审计日志文件路径 |
|
|
470
|
+
| **限流** | `SSH_RATE_LIMIT` | `true` | 限流总开关(bool) |
|
|
471
|
+
| | `SSH_RATE_LIMIT_MAX` | `30` | 限流次数上限 |
|
|
472
|
+
| | `SSH_RATE_LIMIT_WINDOW` | `60` | 限流窗口(秒) |
|
|
473
|
+
| **加固点 1** | `SSH_RUNTIME_GUARD` | `false` | runtime guard 总开关 |
|
|
474
|
+
| | `SSH_RUNTIME_ALLOW_ROOT` | `false` | 是否允许 root 启动 |
|
|
475
|
+
| | `SSH_RUNTIME_ALLOWED_USERS` | (空) | 允许启动的账号白名单 |
|
|
476
|
+
| | `SSH_RUNTIME_BLOCK_SUDO` | `true` | 是否拦截 sudo 上下文 |
|
|
477
|
+
| **加固点 2** | `SSH_SECRET_PROVIDER_ENABLED` | `false` | secret provider 总开关 |
|
|
478
|
+
| | `SSH_SECRET_PROVIDER` | `env` | 凭证 provider:`env` / `command` / `http` |
|
|
479
|
+
| | `SSH_SECRET_ENV_KEY_<NAME>` | — | env provider:私钥环境变量 |
|
|
480
|
+
| | `SSH_SECRET_COMMAND_<NAME>` | — | command provider:拉取私钥的命令 |
|
|
481
|
+
| | `SSH_SECRET_HTTP_URL_<NAME>` | — | http provider:拉取私钥的 URL |
|
|
482
|
+
| | `SSH_SECRET_HTTP_TOKEN` | — | http provider:Bearer token |
|
|
483
|
+
| | `SSH_SECRET_HTTP_TIMEOUT` | `15` | http provider:HTTP 超时(秒) |
|
|
484
|
+
| **加固点 3** | `SSH_REMOTE_GUARD` | `false` | 远端元字符拦截总开关 |
|
|
485
|
+
| **加固点 4** | *(无 env)* | — | 灾难性命令硬拦截,零配置零绕过 |
|
|
486
|
+
| **连接默认** | `SSH_HOST` / `SSH_PORT` / `SSH_USER` / `SSH_PASSWORD` | `127.0.0.1` / `22` / `root` / (空) | 单 host 模式默认连接参数 |
|
|
487
|
+
| | `SSH_TIMEOUT` | `60` | 连接超时(秒) |
|
|
488
|
+
| | `SSH_KEEPALIVE_INTERVAL` | `30` | keepalive 间隔(秒) |
|
|
489
|
+
| | `SSH_SESSION_TIMEOUT` | `7200` | 会话超时(秒) |
|
|
490
|
+
| | `SSH_CLIENT_TYPE` | `paramiko` | SSH 客户端实现:`paramiko` / `asyncssh` |
|
|
491
|
+
| | `SSH_FORCE_ENV_CONFIG` | `false` | 强制 env 配置覆盖 hosts.json |
|
|
492
|
+
| | `SSH_SUDO_PASSWORD` | (空) | sudo 密码,配合 `use_sudo=true` 走 `sudo -S` |
|
|
493
|
+
|
|
456
494
|
---
|
|
457
495
|
|
|
458
496
|
## ⚠️ 依赖版本兼容性
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|