ssh-mcp-server
是一款桥梁工具,它能让 AI 助手及其他支持 MCP 协议的应用程序,借助标准化接口远程执行 SSH 命令。这一特性使得 AI 助手在不直接暴露 SSH 凭证的情况下,能安全地操作远程服务器、执行命令并获取结果。
借助 ssh-mcp-server
,你可以让 AI 助手和支持 MCP 协议的应用程序,通过标准化接口远程执行 SSH 命令,同时保障 SSH 凭证的安全。
本项目无需全局安装,直接使用 NPX 运行即可快速部署。
工具 | 名称 | 描述 |
---|---|---|
execute-command | 命令执行工具 | 在远程服务器上执行 SSH 命令并获取结果 |
upload | 文件上传工具 | 将本地文件上传到指定的远程服务器位置 |
download | 文件下载工具 | 从远程服务器下载文件到本地指定位置 |
以下是可通过命令行指定的关键参数:
--host
或 -h
:SSH 服务端的主机地址(默认值为 localhost
)--port
或 -p
:SSH 服务端的端口号(默认值为 22
)--user
或 -u
:SSH 连接的用户名--password
或 -P
:SSH 连接的密码(不推荐使用,建议优先配置密钥认证)--private-key
或 -k
:用于 SSH 认证的私钥路径--passphrase
或 -w
:私钥的密钥短语--command-whitelist
或 -w
:允许执行的命令白名单(支持正则表达式)--command-blacklist
或 -b
:禁止执行的命令黑名单(支持正则表达式)以下是使用密码认证的配置示例:
{
"command": "npx",
"args": [
"--host",
"192.168.1.100",
"--port",
"22",
"--user",
"root",
"--password",
"your_password_here"
]
}
以下是使用私钥认证、命令白名单、命令黑名单的配置示例:
使用私钥认证的配置示例
{
"command": "npx",
"args": [
"--host",
"192.168.1.100",
"--port",
"22",
"--user",
"root",
"--private-key",
"/path/to/private_key.pem",
"--passphrase",
"your_passphrase_here"
]
}
使用命令白名单的配置示例
{
"command": "npx",
"args": [
"--host",
"192.168.1.100",
"--port",
"22",
"--user",
"root",
"--password",
"your_password_here",
"--command-whitelist",
"^ls$|^pwd$"
]
}
使用命令黑名单的配置示例
{
"command": "npx",
"args": [
"--host",
"192.168.1.100",
"--port",
"22",
"--user",
"root",
"--password",
"your_password_here",
"--command-blacklist",
"^rm .*"
]
}
⚠️ 重要提示
如果同时指定白名单和黑名单,系统将首先检查命令是否在白名单中,然后检查是否在黑名单中。只有通过两者的检查,命令才会被执行。