Здравствуйте!
Хочу через node.js пройтись в цикле по списку ip, подключиться к каждому по ssh и снять информацию.
Использую пакет npm "simple-ssh":
const SSH = require('simple-ssh');
const hosts = ['192.168.10.1', '192.168.20.1',];
hosts.forEach(function (ip) {
//console.log(ip);
const ssh = new SSH({
host: ip,
port: '22',
user: 'root',
pass: 'password'
});
ssh
.exec('cat /proc/uptime', {
out: function(stdout) {
console.log(hosts);
console.log(stdout);
}
})
.start();
});
В итоге получаю результат подключения только к первому серверу:
[ '192.168.10.1', '192.168.20.1' ]
152026.84 148271.15
Понимаю (возможно не прав) что это из за асинхронности пакета simple-ssh, и надо в цикле работать с ним по другому, подскажите направление.
Заранее спасибо!