如何在节点JS中对ssh执行sudo命令。

时间:2017-06-30 06:59:46

标签: node.js linux ssh ssh2-exec

我尝试了remote-exec和node-ssh软件包,但两者的结果与下面提到的相同。

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

var connection_options = {
       port: 22,
       username: 'user', 
       privateKey: require('fs').readFileSync('privateKey/file.pem'),
       passphrase:''};

var hosts = [
    '54.xxx.xxx.xxx'
];

var cmds = [
   'sudo adduser testuser'
];

rexec(hosts, cmds, connection_options, function(err){

    if (err) {
        console.log(err);
    } else {
        console.log('Great Success!!');
    }
});

返回错误:

[错误:554.xxx.xxx.xxx:sudo adduser testuser [退出1]]

sudo:抱歉,你必须有一个tty来运行sudo

请告知如何使用节点js运行sudo命令。

1 个答案:

答案 0 :(得分:0)

评论/ etc / sudoers文件中的以下行。

#Defaults requiretty