SSH MCP 服务器是一个实现了 Model Context Protocol (MCP) 协议的 SSH 服务器,它能提供安全的远程访问和执行功能,通过 MCP 协议支持远程 SSH 连接,为用户带来便捷、安全的远程操作体验。
SSH MCP 服务器通过 MCP 协议实现远程 SSH 连接,为用户提供安全的远程访问和执行功能。下面为你介绍使用它的基本步骤。
git clone
cd ssh-server
npm install
npm run build
服务器使用 SQLite 数据库 (ssh.db
) 存储 SSH 凭据。数据库文件将在服务器启动时自动创建。
服务器提供以下工具:
通过 SSH 执行命令。 输入参数:
host
:要连接的主机。(必填)command
:要执行的命令。(必填)username
:用于 SSH 连接的用户名。(必填)privateKeyPath
:私钥文件路径。(必填)示例用法:
{
"tool_name": "ssh_exec",
"arguments": {
"host": "example.com",
"command": "ls -l",
"username": "user",
"privateKeyPath": "/path/to/private/key"
}
}
⚠️ 重要提示
privateKeyPath
必须是一个有效的私钥文件路径。
添加一个新的 SSH 凭据。 输入参数:
name
:凭据的名称。(必填)host
:要连接到的主机。(必填)username
:用于 SSH 连接的用户名。(必填)privateKeyPath
:私钥文件路径。(必填)示例用法:
{
"tool_name": "add_credential",
"arguments": {
"name": "my_credential",
"host": "example.com",
"username": "user",
"privateKeyPath": "/path/to/private/key"
}
}
⚠️ 重要提示
privateKeyPath
必须是一个有效的私钥文件路径。
列出所有存储的 SSH 凭据。 输入参数:
示例用法:
{
"tool_name": "list_credentials",
"arguments": {}
}
删除一个存储的 SSH 凭据。 输入参数:
name
:要删除的凭据名称。(必填)示例用法:
{
"tool_name": "remove_credential",
"arguments": {
"name": "my_credential"
}
}
npm start
服务器将在配置的端口上启动(默认设置可以在源代码中修改)。
src/
- 源代码目录build/
- 编译后的 JavaScript 输出node_modules/
- 项目依赖项ssh
:用于 SSH 连接的库。child_process
:用于执行子进程(如 SSH 命令)。fs
:用于文件系统操作(读取和写入凭据)。要进行代码修改,请按照以下步骤操作:
src/
目录中)。npm run build
要贡献到项目,请 fork 仓库并在您的分支上进行开发。完成后提交一个 Pull Request。
要为该项目做贡献,请按照以下步骤操作:
git checkout -b feature/your-feature-name
我们欢迎所有有用的贡献!
本项目使用 TypeScript 进行开发,基于 MCP 协议实现 SSH 服务器。通过集成 SQLite 数据库,实现了数据的持久化存储。在运行过程中,使用 ssh
库进行 SSH 连接,child_process
执行子进程(如 SSH 命令),fs
进行文件系统操作(读取和写入凭据)。这些技术的结合,使得项目具备了安全、高效的远程访问和执行功能。
[许可证信息]