多台服务器登录并执行命令(使用ssh2模块)

时间:2021-01-19 12:18:58

标签: node.js

M 尝试 [ssh2 连接到多个服务器并获取输出 nodejs] 我从数据库中获取值并存储在一个变量中,但面临的问题是变量没有获取主机、用户名和密码中的值。

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

connection.query('SELECT id, ipaddress,user,pwd,class FROM users', (error, results) => {

    for (var k = 0; k < results.length; k++) {
        var sip = (results[k].ipaddress);
        var sdc = (results[k].user);
        var sdc1 = (results[k].pwd);
        
        var conn = new Client();

        conn.on('ready', function () {

            console.log('Client :: ready');

            conn.exec("uptime", function (err, stream) {
                if (err) throw err;

                stream.on('close', function (code, signal) {
                    console.log('Stream :: close :: code: ' + code + ', signal: ' + signal);
                    conn.end();
                }).on('data', function (data) {
                    console.log('STDOUT: ' + data);
                }).stderr.on('data', function (data) {
                    console.log('STDERR:  ' + data)
                });

            });

        }).connect({
            host: "'" + sip[a] + "'", // not taking the value
            port: 22,

            username: "'" + sdc + "'",// not taking the value

            password: "'" + sdc1 + "'"//not taking the value

        });

0 个答案:

没有答案