我正在尝试使用以下代码在远程系统终端中执行命令
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都是相同的。
答案 0 :(得分:1)
问题在于连接选项。 passphrase
适用于使用加密私钥进行身份验证的情况。要使用用户密码进行身份验证,请改为使用password
。