MCP 服务器 SSH 是一款用于提供安全 SSH 访问的工具,具备密钥管理功能。它支持客户端通过 SSH 协议连接服务器,还能借助配套的 HTTP 密钥管理服务器,简化客户端公钥的注册流程。
MCP 服务器 SSH 能让你安全地进行 SSH 连接,并通过密钥管理服务器简化公钥注册。你可以按照以下步骤开始使用。
uv run m2m-mcp-server-ssh-server --help
参数 | 详情 |
---|---|
--host |
SSH 服务器绑定的主机地址,默认为 127.0.0.1 |
--port |
SSH 服务器监听的端口,默认为 8022 |
--authorized-clients |
授权客户端密钥文件路径,默认为 ~/.ssh/authorized_keys |
--server-key |
服务器私钥文件路径,默认为 ~/.ssh/m2m_mcp_server_ssh_server |
--passphrase |
私钥密码(可选) |
--servers-config |
服务器配置 JSON 文件路径,默认为 servers_config.json |
--log-level |
设置日志级别,默认为 INFO |
--run-key-server |
运行 HTTP 密钥管理服务器 |
--key-server-port |
HTTP 密钥管理服务器的端口,默认为 8000 |
--key-server-host |
HTTP 密钥管理服务器的主机,默认为 127.0.0.1 |
--version |
显示版本信息并退出 |
⚠️ 重要提示
当绑定到所有接口(0.0.0.0)时,您的服务器将可以从能够访问您系统的任何机器访问。请确保使用强身份验证,并考虑使用防火墙等额外安全措施。
您可以选择性地运行一个 HTTP 密钥管理服务器来简化客户端密钥注册:
uv run m2m-mcp-server-ssh-server --run-key-server
这将启动:
密钥管理服务器提供以下接口:
# 注册客户端公钥
curl -X POST -H "Content-Type: application/json" \
-d '{"client_pub_key": "ssh-rsa AAAA..."}' \
http://localhost:8000/register
上述代码展示了如何使用 curl
命令向密钥管理服务器注册客户端公钥。
# 获取服务器的公钥
curl http://localhost:8000/server_pub_key
# 检查服务器健康状态
curl http://localhost:8000/health
上述代码展示了如何使用 curl
命令获取服务器的公钥和检查服务器的健康状态。
POST /register
- 注册客户端公钥
{"client_pub_key": "ssh-rsa AAAA..."}
{"status": "success"}
或错误信息GET /server_pub_key
- 获取服务器的公钥
{"server_pub_key": "ssh-ed25519 AAAA..."}
GET /health
- 检查服务器健康状态
{"status": "healthy"}
~/.ssh/m2m_mcp_server_ssh_server
。git clone https://github.com/yourusername/mcp-server-ssh.git
cd mcp-server-ssh
pip install -r requirements.txt
python main.py --help
git checkout -b feature/new-feature
。git commit -m "添加新功能"
。git push origin feature/new-feature
。black .
。本项目采用 MIT 许可证,详见 LICENSE 文件。