本项目是一个具备 SSH 功能的 Model Context Protocol (MCP) 服务器实现。它借助 MCP 协议,实现了安全的远程访问与操作执行,为用户提供了便捷、高效的远程服务体验。
git clone
cd ssh-server
npm install
npm run build
服务器使用 SQLite 数据库 (ssh.db
) 来存储 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` 必须是有效的私钥文件路径。
name
:凭证的名称。(必填)host
:要连接到的主机。(必填)username
:用于 SSH 连接的用户名。(必填)privateKeyPath
:私钥文件路径。(必填){
"tool_name": "add_credential",
"arguments": {
"name": "my_credential",
"host": "example.com",
"username": "user",
"privateKeyPath": "/path/to/private/key"
}
}
- **注意**:`privateKeyPath` 必须是有效的私钥文件路径。
{
"tool_name": "list_credentials",
"arguments": {}
}
name
:要移除的凭证名称。(必填){
"tool_name": "remove_credential",
"arguments": {
"name": "my_credential"
}
}
npm start
服务器将在配置好的端口上启动(默认设置可以在源代码中修改)。
若你需要对项目进行修改和扩展,可以按照以下步骤操作:
src/
目录中进行更改。npm run build
npm start
src/
- 源代码目录build/
- 编译后的 JavaScript 输出node_modules/
- 项目依赖项属性 | 详情 |
---|---|
模型类型 | 基于 SSH 的 MCP 协议服务器 |
训练数据 | 无 |
依赖项 | @modelcontextprotocol/sdk (MCP 协议实现)、sqlite3 (SQLite 数据库驱动)、typescript (用于 TypeScript 支持的开发依赖) |
本项目采用 ISC 许可证。
如果你想为项目做出贡献,可以按照以下步骤进行: