Есть ли SSH-клиент для node.js, который я мог бы использовать для связи с сервером?
Клиент SSH для Node.js
Ответ 1
Клиентский модуль SSH2, написанный на чистом JavaScript для node.js
https://github.com/mscdex/ssh2
Также проверьте эту оболочку для него
Ответ 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).
Ответ 4
Как и с sftp в предыдущем вопросе, вы могли бы использовать ssh-клиент с помощью дочерний процесс.