MCP SSH服务器是一款功能强大的服务器,它基于SSH协议实现,专为模型上下文协议(MCP)量身设计。该服务器借助SSH协议,支持安全的远程命令执行与文件操作,同时提供密码和基于密钥的身份验证方式。
MCP SSH服务器能通过SSH协议实现安全的远程命令执行和文件操作,支持多种身份验证方式,为用户提供便捷、安全的使用体验。
npm install mcp-ssh
claude_desktop_config.json
){
"mcpServers": {
"ssh": {
"command": "node",
"args": ["%APPDATA%/npm/node_modules/mcp-ssh/dist/server.js"],
"env": {
"SSH_PORT": "8889",
"SSH_LOG_LEVEL": "info"
}
}
}
}
$body = @{
id = "test"
host = "example.com"
port = 22
username = "user"
password = "pass123"
} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:8889/connect" -Method Post -Body $body -ContentType "application/json"
$body = @{
id = "test"
host = "example.com"
port = 22
username = "user"
privateKey = Get-Content ~/.ssh/id_rsa | Out-String
passphrase = "optional-key-passphrase" # 如果您的密钥受密码保护
} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:8889/connect" -Method Post -Body $body -ContentType "application/json"
$execBody = @{
id = "test"
command = "ls -la"
} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:8889/exec" -Method Post -Body $execBody -ContentType "application/json"
# 上传文件
$uploadForm = @{
file = Get-Item -Path "localfile.txt"
remotePath = "/remote/path/file.txt"
}
Invoke-RestMethod -Uri "http://localhost:8889/upload/test" -Method Post -Form $uploadForm
# 下载文件
Invoke-RestMethod -Uri "http://localhost:8889/download/test?remotePath=/remote/path/file.txt" -Method Get -OutFile "downloaded.txt"
# 列出目录
Invoke-RestMethod -Uri "http://localhost:8889/ls/test?path=/remote/path" -Method Get
# 获取连接状态
Invoke-RestMethod -Uri "http://localhost:8889/status/test" -Method Get
git clone https://github.com/shaike1/mcp-server-ssh.git
cd mcp-server-ssh
npm install
npm run build
npm start
属性 | 详情 |
---|---|
服务器端口 | SSH_PORT ,默认值为8889 |
日志级别 | SSH_LOG_LEVEL ,默认值为info |
git checkout -b feature/amazing-feature
)git add .
和 git commit -m "您的提交消息"
)git push origin feature/amazing-feature
)如果您遇到任何问题或有改进建议,请在GitHub仓库中创建问题。
感谢使用MCP SSH服务器!