将ssh服务器与节点js中的私钥连接

时间:2015-05-21 06:56:59

标签: node.js

将ssh服务器与节点js中的标识文件连接时,我遇到了以下错误

错误:无法读取私钥文件

my code:

    driver = require('node-ssh');

    ssh = new driver({
              host: '192.168.*.*',
              username: 'user',
              password: 'password',
              privateKey : require('fs').readFileSync('/tmp/my_key')
            });

    ssh.connect().then(function() {
           /*
       some code
        */

            },function(error) {
                console.log(error);

            });

But if i connect from my linux machine, it is connected.

ssh -i /tmp/my_key  user@192.168.*.*

Please give any solution for this.

1 个答案:

答案 0 :(得分:3)

node-ssh需要私钥文件的名称,而不是内容(来自the node-ssh npm page的示例):

ssh = new node_ssh({
  host: 'localhost',
  username: 'steel',
  privateKey: '/home/steel/.ssh/id_rsa'
});