-1

伙计们!当我尝试使用 remote-exec https://www.npmjs.com/package/remote-exec运行我的 cmd 时出现以下错误。

错误:生成公钥时无法解析私钥(预期顺序)

有谁知道为什么?谢谢!

我的代码:

controller.mySync = function(req, res) {

    // remote-exec
    var connection_options = {
        port: 22,
        username: 'user',
        privateKey: require('fs').readFileSync('/home/host/.ssh/id_rsa'),
        passphrase: 'mypws'     
    }

    var hosts = [
        '192.168.1.1'
    ];

    var cmds = [
        'ls -l',
        'cat /etc/hosts'
    ];

    rexec(hosts, cmds, connection_options, function(err, stdout, stderr){
        if (err) {
            console.log(err);
            res.status(500).json(err);
        } else {
            console.log('Great Success!!');
            res.status(200).json(stdout);
        }
    });

};
4

1 回答 1

1

(代表 OP 发布解决方案)

我解决了我的问题。我做了什么?

最初有必要输入空的“密码”,这会产生错误。但即使通知密码,它也会产生一个新错误:

[错误:身份验证失败。可用的身份验证方法:publickey,password] level: 'authentication', partial: false }

在这种情况下,我再次与我的主机用户产生了一个公钥/私钥 rsa 密钥对:

$ ssh-keygen -t rsa -b 4096 -C "myuser"

生成密钥对后,缺少最终驱动器,该驱动器将公钥安装在主机上,允许将其用于身份验证:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub login@host
于 2016-10-31T19:07:26.527 回答