2016-11-16 59 views
0

我有一个正在用于连接到设备的类。我在类的实例在我的应用程序进行Javascript - 在ssh2连接中访问密码

app.js

myConn = new myConnection(); 

myConnection.js

function myConnection(){  
    this.settings = { 
     host: '192.168.225.195', 
     port: 22, 
     username: 'sysadmin', 
     password: 'pass' 
    }; 
} 

我在所述函数类的远程设备上执行的命令但需要密码。发生这种情况时,stderr.on被执行,我发送密码和一个换行符字符。

myConnection.prototype.installPatch = function(callback){ 
    this.conn.exec('sudo -S bash /tmp/update.sh', function(err, stream){ 
     var standardMsgs = ''; 
     var errorMsgs = ''; 
     if(err) throw err; 
     stream.on('close', function(code, signal) {     
      callback(standardMsgs, errorMsgs);  
     }).on('data', function(data) { 
      standardMsgs += "<br>" + data; 
      console.log('STDOUT: ' + data);    
     }).stderr.on('data', function(data) { 
      errorMsgs += data; 
      console.log('STDERR: ' + data); 
      stream.write(myConn.conn.config.password + '\n'); 
     }); 
    });  
} 

虽然这个作品我不是因为在app.js更改名称“的myconn”与

stream.write(myConn.conn.config.password + '\n'); 

访问密码的粉丝将需要在“installPatch”一样变化功能。

我本来打算用

stream.write(this.settings.password + '\n'); 

我是否有任何其他选项,让我从MyConnection的类中找回密码?我希望我只是忽略了明显的。

回答

0

好的,所以我相信它是在我的面前主演。

变化

stream.write(myConn.conn.config.password + '\n'); 

stream.write(stream._client.config.password + '\n');