1
現在、私たちの内部CLIツールをコマンドラインノードアプリケーションとして再構築しています。これの一部は、このアプリケーションの特定のサーバー部分にSSHへのbashスクリプトを再構築することです。ノードスクリプトからの対話型SSHセッションを開く
私は実際にSSHを実行するためにchild_process
のspawn
機能を使用する方法を知っているが、これは単に(ssh
コマンドにフラグ-tt
を用いた場合であっても)直接シェルにSSH'ingと同じ結果が得られていません。 1つは、入力されたコマンドが画面に2回表示され、これらのリモートマシンでnano
を使用しようとすると、まったく機能しません(画面サイズが正しくない、コンソールウィンドウの約半分しか使いません。
ノードアプリケーションでこれを行うより良い方法はありますか?これは私が現在、SSHセッションを開始するために使用する一般的なコードです:
run: function(cmd, args, output) {
var spawn = require('child_process').spawn,
ls = spawn(cmd, args);
ls.stdout.on('data', function(data) {
console.log(data.toString());
});
ls.stderr.on('data', function(data) {
output.err(data.toString());
});
ls.on('exit', function(code) {
process.exit(code);
});
process.stdin.resume();
process.stdin.on('data', function(chunk) {
ls.stdin.write(chunk);
});
process.on('SIGINT', function() {
process.exit(0);
});
}
の作者ですモジュール[ssh2-client](https://github.com/MatthieuLemoine/ssh2-client) – MatthieuLemoine