Files
bigwo/mcp-server-ssh/fetch_logs.js
2026-03-12 12:47:56 +08:00

41 lines
1.1 KiB
JavaScript

import { Client } from "ssh2";
const SSH_CONFIG = {
host: "119.45.10.34",
port: 22,
username: "root",
password: "#xyzh%CS#2512@28",
readyTimeout: 10000,
};
function sshExec(command) {
return new Promise((resolve, reject) => {
const conn = new Client();
let stdout = "";
let stderr = "";
conn.on("ready", () => {
conn.exec(command, (err, stream) => {
if (err) { conn.end(); return reject(err); }
stream.on("close", (code) => { conn.end(); resolve({ stdout, stderr, code }); });
stream.on("data", (d) => { stdout += d.toString(); });
stream.stderr.on("data", (d) => { stderr += d.toString(); });
});
}).on("error", (err) => reject(err)).connect(SSH_CONFIG);
});
}
async function main() {
const cmd = process.argv[2] || "echo 'Usage: node fetch_logs.js <command>'";
try {
const r = await sshExec(cmd);
if (r.stdout) process.stdout.write(r.stdout);
if (r.stderr) process.stderr.write(r.stderr);
process.exit(r.code || 0);
} catch (e) {
console.error("Error:", e.message);
process.exit(1);
}
}
main();