节点简单SSH退出且没有错误

时间:2019-02-18 20:34:02

标签: javascript node.js ssh

我正在尝试使用Node simple-ssh库连接到Ubuntu EC2计算机。

代码:

const SSH = require('simple-ssh')
const fs = require('fs')

var ssh = new SSH({
    host: 'my-hostname',
    user: 'ubuntu',
    pass: fs.readFileSync("key.pem")
});

ssh.exec('echo $PATH', {
    out: function(stdout) {
        console.log(stdout)
    }
}).start()

当我运行node app.js时,它什么也没输出。也没有任何迹象表明它实际上已连接到机器。它会运行2-3秒,然后无错误退出。

我还尝试输入一个随机密钥作为pass。这样可以使程序运行更快,这表明错误的密钥会立即失败,而正确的密钥会在退出之前到达某个位置。但是exec命令似乎没有运行。我尝试进行mkdir,但目录未出现。

凭据是100%正确的,我可以使用Putty通过Putty SSH到计算机。

1 个答案:

答案 0 :(得分:1)

Read the manual

  

config.host {字符串}:主机名

     

config.port {Number}:端口号(默认值:22)

     

config.user {字符串}:用户名

     

config.pass {字符串}:密码

     

config.timeout {Number}:连接超时(以毫秒为单位)(默认值:10000)

     

config.key {字符串}:SSH密钥

     

config.passphrase {字符串}:密码

您应该使用key而不是pass