我正在尝试使用Node EC2库连接到Ubuntu simple-ssh机器。
守则:
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%正确的,我可以SSH到机器通过Putty使用它。
发布于 2019-02-19 02:49:14
阅读手册。
config.host { String }:主机名 config.port { Number }:端口号(默认值: 22) config.user { String }:用户名 config.pass { String }:密码 config.timeout { Number }:以毫秒为单位的连接超时(默认值: 10000) config.key { String }:SSH键 config.passphrase { String }:密码
您应该使用key而不是pass
https://stackoverflow.com/questions/54754957
复制相似问题