Я построил функцию на основе в этом примере , цель - подключиться к серверу, маршрутизатору или брандмауэру через интерфейс командной строки.Соединение и результат успешны, но соединение не закрывается при вызове функции end()
.
В соответствии с документацией , клиентский метод 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
});
Что не так или чего-то не хватает?