Клиент SSH для Node.js

Есть ли SSH-клиент для node.js, который я мог бы использовать для связи с сервером?

Ответ 2

Node.js дочерние процессы не будут выполняться, если вам нужно использовать пароль для входа в систему, потому что клиент OpenSSH не считывает пароль из stdin, а из псевдотерминала.

Вы можете обойти это, используя pty.js:

var pty = require("pty.js");
var term = pty.spawn("ssh", ["[email protected]", "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, если это возможно.

Ответ 3

Вот еще два варианта:

Клиент довольно прочный и базовый для общего использования. Node -control больше подходит для параллельного, асинхронного управления многими машинами (т.е. работа sys-admin).