错误:生成公钥(预期序列)时无法解析私钥,节点+ Bash +远程

问题描述:

伙计们!当我尝试使用remote-exec https://www.npmjs.com/package/remote-exec运行我的cmds时,出现以下错误。错误:生成公钥(预期序列)时无法解析私钥,节点+ Bash +远程

Error: Unable to parse private key while generating public key (expected sequence)

任何人都知道为什么? 谢谢!

我的代码:

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); 
     } 
    }); 

}; 
+0

请从标题中删除'Solved'并发布您的解决方案作为一个合适的回答。 – usr2564301

(发布代表OP的解决方案)。

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

最初有必要输入'密码短语',它是空的,并且会产生错误。但是,即使告知了密码,它会产生一个新的错误:

[Error: Authentication failure. Available authentication methods: publickey,password] level: 'authentication', partial: false }

在这种情况下,我再次以人为公共/私有密钥对我的主机的用户:

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

生成密钥对后,错过了最后的驱动器,它安装在主机上的公共密钥,允许它被用于验证:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 
+0

@RobsonFagundes:第一句的目的是表明我不是这个材料的作者。它是作为问题的附录添加的,它应该是一个答案 - 我将它发布给OP。 – halfer