node.js - 我如何在 Node JS 中通过 ssh 执行 sudo 命令?

标签 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

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

最佳答案

在/etc/sudoers 文件中的行下方注释。

#默认要求

关于node.js - 我如何在 Node JS 中通过 ssh 执行 sudo 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44840459/

相关文章:

git - SSH git ls-remote 不起作用但 git clone 可以吗?

c - 如何使用C在Linux中获取已安装驱动器的卷名?

linux - 获取另一个驱动程序中的设备列表

linux - grep 命令反转选项不起作用

javascript - 如何使用 forEach 删除列表中的元素?

php - 使用 PHP 关闭远程 linux 服务器

python - 如何在 python 中关闭 ssh 隧道

javascript - 无法解析 express 中的 url 编码数据

javascript - 我必须在 Node.js 中使用 Babel 吗?

javascript - 如何使用 sequelize 验证 Node 应用程序中的业务规则?