我尝试了 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/