使用说明
ssh-mcp
SSH MCP服务器,通过模型上下文协议接口提供对本地机器的安全shell访问。
概述
此服务器使用Paramiko实现SSH客户端,并通过MCP工具公开SSH功能,允许AI助手在本地计算机上安全地执行命令。
特性
- 会话管理:使用唯一的会话ID创建、管理和关闭SSH会话
- 命令执行:使用正确的输入处理执行shell命令
- Sudo支持:用于运行具有密码身份验证的特权命令的专用工具
- 交互式命令:支持需要用户输入的命令(例如sudo提示)
- 线程安全:具有适当锁定的并发会话管理
工具
ssh_start_session:初始化与localhost的SSH连接ssh_exec_command:使用可选输入执行shell命令ssh_exec_sudo_command:运行带有自动密码处理的sudo命令ssh_close_session:清理SSH会话
快速开始
-
安装依赖项:
pip install -r requirements.txt -
启动服务器:
./start.sh
服务器运行在 http://0.0.0.0:7777 并为MCP通信提供SSE(服务器发送事件)端点。
配置
默认SSH凭据:
- 主机名:localhost
- 用户名:alex
- 密码:您的通行证
备注:在中更新这些凭据 server.py 用于生产用途。
Claude桌面配置
如果使用Linux,您的配置文件夹是:
/home/username/.config/Claude/claude_desktop_config.json
要启用此功能,您需要在claude桌面中启用它:文件/配置/开发人员/编辑配置
SSH守护程序:
配置ssh守护进程:
nano /etc/systemd/system/ssh-mcp.service
粘贴(更新您的用户名):
[Unit]
Description=SSH MCP Server
After=network.target
[Service]
User=alex
WorkingDirectory=/home/alex/projects/ssh-mcp
ExecStart=/bin/bash -c 'eval "$(/home/alex/anaconda3/bin/conda shell.bash hook)" && conda activate base && /home/alex/anaconda3/bin/uvicorn server:app --host 0.0.0.0 --port 7777'
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
开始
sudo systemctl daemon-reload
sudo systemctl enable ssh-mcp.service
sudo systemctl start ssh-mcp.service
