探索纯JavaScript实现的SSH2模块:用于Node.js的强大工具
// 引入需要的模块
const { Client } = require('ssh2');
// 创建一个新的SSH2客户端实例
const conn = new Client();
// 连接到SSH服务器
conn.on('ready', () => {
console.log('Client :: ready');
// 执行SSH命令
conn.exec('ls -la', (err, stream) => {
if (err) throw err;
// 处理命令执行的输出
stream.on('close', (code, signal) => {
console.log('Stream :: close :: code: ' + code + ', signal: ' + signal);
conn.end();
}).on('data', (data) => {
console.log('STDOUT: ' + data);
}).stderr.on('data', (data) => {
console.log('STDERR: ' + data);
});
});
}).connect({
host: 'ssh.example.com',
port: 22,
username: 'nodejs',
privateKey: require('fs').readFileSync('/path/to/nodejs.pem')
});
这段代码展示了如何使用ssh2模块在Node.js中建立SSH连接,执行命令,并处理命令的输出。它首先引入了ssh2模块以及Node.js的文件系统模块。然后创建了一个新的SSH2客户端实例,并设置了连接到SSH服务器的参数。一旦连接就绪,它就执行了一个简单的ls -la命令,并监听了命令的输出。代码中的conn.end()
用于在命令执行完毕后关闭连接。
评论已关闭