我正在尝试使用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到计算机。
答案 0 :(得分:1)
config.host {字符串}:主机名
config.port {Number}:端口号(默认值:22)
config.user {字符串}:用户名
config.pass {字符串}:密码
config.timeout {Number}:连接超时(以毫秒为单位)(默认值:10000)
config.key {字符串}:SSH密钥
config.passphrase {字符串}:密码
您应该使用key
而不是pass