web-dev-qa-db-ja.com

Node.js用のSSHクライアント

サーバーと通信するために使用できるnode.js用のSSHクライアントはありますか?

40
Van Coding

Node.js用の純粋なJavaScriptで記述されたSSH2クライアントモジュール

https://github.com/mscdex/ssh2

このラッパーもチェックアウトしてください

https://github.com/mikeal/sequest

36
Epeli

ログインにパスワードを使用する必要がある場合、Node.jsの子プロセスは実行しません。OpenSSHクライアントはパスワードを標準入力からではなく、擬似端末から読み取るためです。

pty.js を使用してこれを回避できます:

var pty = require("pty.js");
var term = pty.spawn("ssh", ["username@localhost", "whoami"]);

term.on("data", function(data) {
  console.log("Incoming: " + data.toString());
});

// Wait a sec before sending the password. For proper implementation 
// you should wait for the password Prompt.
setTimeout(function(){
  term.write("mypassword\n");
}, 1000);

そうは言っても、可能であれば、常にSSHキーペアを使用する必要があります。

16
Epeli

他に2つのオプションがあります。

クライアントは、一般的な使用にはかなり堅実で基本的です。ノード制御は、多くのマシンの並列非同期制御に適しています(つまり、sys-adminの作業)。

12
Van Nguyen

以前の質問 のsftpと同様に、おそらく 子プロセス を介してsshクライアントを使用できます。

3
Greg