0
ノードSSH2パッケージを使用しようとしています。ノードSSH2 sudoパスワード
Client :: ready
STDOUT: [sudo] password for venafi:
どのようにパスワードプロンプトにパスワードを書き込むことができます。私は次のようにパスワードの入力を求められたコードを実行するとこれは私のコード
var Client = require('ssh2').Client;
var password = 'xxxxxx'
var conn = new Client();
conn.on('ready', function() {
console.log('Client :: ready');
conn.exec('sudo ls -la', { pty: true }, function(err, stream) {
if (err) throw err;
stream.on('close', function(code, signal) {
console.log('Stream :: close :: code: ' + code + ', signal: ' + signal);
conn.end();
}).on('data', function(data) {
if (data.indexOf(':') >= data.length - 2) {
stream.write(password + '\n');
}
else {
console.log('STDOUT: ' + data);
}
}).stderr.on('data', function(data) {
console.log('STDERR: ' + data);
});
});
}).connect({
host: 'xxx.xxx.xxx.xxx',
port: 22,
username: 'user',
password: 'xxxxx',
});
// example output:
// Client :: ready
// STDOUT: 17:41:15 up 22 days, 18:09, 1 user, load average: 0.00, 0.01, 0.05
//
// Stream :: exit :: code: 0, signal: undefined
// Stream :: close
のですか?
OKので、私は 'stream.write(パスワード+ '\ nは')移動;' '.on( 'データ'、機能(データ)'関数と今送りにsudoのパスワードが何らかの理由でそれが複数回にsudoのパスワードを書き出す例えば STDOUT:。。PASSW0RD STDOUT:PASSW0RD STDOUT:PASSW0RD – user1513388
はOKので、私はそれを働いたと、これをヒット他の誰を助けるために私の例を更新しました問題。 – user1513388