NodeJS中的remote-exec无法使用密码短语

时间:2014-01-17 09:49:15

标签: node.js ssh

我正在尝试使用以下代码在远程系统终端中执行命令

    var restify = require('restify');
    var rexec = require('remote-exec');

    function respond(req, res, next) {
        var connection_options = {
            username: 'root',
            passphrase: 'xxxxx'
        };

        var hosts = [
            'n.n.n.n'];

        var cmds = [
            'ls -l',
            'cat /etc/hosts'];
        console.log('Recieved Request');
        rexec(hosts, cmds, connection_options, function (err) {
            console.log(34455);
            if (err) {
                console.log(err);
            } else {
                console.log('Great Success!!');
            }
            res.send('Wait..');
        });
        // res.send('hello ' + req.params.name);
    }

    var server = restify.createServer();
    server.get('/hello/:name', respond);
    server.head('/hello/:name', respond);

    server.listen(8080, function () {
        console.log('%s listening at %s', server.name, server.url);
    });

但这不起作用,我错过了什么吗?还有一件事是节点服务器正在运行,我试图连接的远程IP都是相同的。

1 个答案:

答案 0 :(得分:1)

问题在于连接选项。 passphrase适用于使用加密私钥进行身份验证的情况。要使用用户密码进行身份验证,请改为使用password

相关问题