41 votes

Client SSH pour Node.js

Existe-t-il un client SSH pour node.js que je pourrais utiliser pour communiquer avec un serveur?

36voto

Epeli Points 5475

Un module client SSH2 écrit en JavaScript pur pour node.js

https://github.com/mscdex/ssh2

16voto

Epeli Points 5475

Les processus enfants de Node.js ne fonctionneront pas si vous devez utiliser un mot de passe pour vous connecter, car le client OpenSSH ne lit pas le mot de passe à partir de stdin, mais à partir d'un pseudo-terminal.

Vous pouvez contourner ce problème en utilisant 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);
 

Ceci étant dit, vous devriez toujours utiliser des paires de clés SSH pour cela si possible.

12voto

Van Nguyen Points 1664

Voici deux autres options:

Le client est assez solide et basique pour une utilisation générale. Le contrôle de nœud est plus adapté au contrôle parallèle et asynchrone sur de nombreuses machines (par exemple, le travail sys-admin).

3voto

Greg Points 15661

Comme avec sftp dans votre question précédente , vous pourriez peut-être utiliser le client ssh via un processus enfant .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X