在Node JS中使用ssh2正在保持连接

时间:2018-06-06 20:41:57

标签: node.js ssh

我已经构建了一个基于this example的功能,目标是通过CLI连接到服务器或路由器或防火墙。连接和结果成功,但在调用函数end()时,连接未关闭。

根据documentation,客户端方法end()关闭连接并断开套接字。

  

end() - (void) - 断开套接字。

这是代码:

var Client = require('ssh2').Client;
var conn = new Client();

conn.on('ready', function (err) {
    if (err) {
        console.log('Error connecting... ' + err);
    }
    conn.exec(_command, function (err, stream) {
        stream.write(_command);
        if (err)
            console.log('Error executing command... ' + err);
        stream.on('data', function (data, stderr) {
            if (stderr)
                console.log('Error... ' + stderr);
            else {
                //some actions using the result string
            }
        }).on('exit', function (code, signal) {
            console.log('Exited with code ' + code);
            conn.end();
        });
        stream.end('\n');
    });
})
.on('error', function (err) {
    console.log(err);
}).on('end', function () {
    console.log('Client :: ended');
    conn.end();
})
.connect({
    host: _host,
    port: port,
    username: username,
    password: password
});

有什么问题或缺少某些东西?

0 个答案:

没有答案