У меня есть класс, который используется для подключения к устройству. Я сделал в экземпляре класса в моем приложении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');
});
});
}
В то время как это работает, я не поклонник доступа пароля с
stream.write(myConn.conn.config.password + '\n');
, так как изменение к имени «myConn» в app.js бы потребовался такой же изменение в «installPatch» функция.
Я намеревался использовать
stream.write(this.settings.password + '\n');
У меня есть какие-либо другие варианты, которые позволят мне получить пароль из класса MyConnection? Надеюсь, я просто упускаю из виду очевидное.