Existe-t-il un client SSH pour node.js que je pourrais utiliser pour communiquer avec un serveur?
Réponses
Trop de publicités?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.
Comme avec sftp dans votre question précédente , vous pourriez peut-être utiliser le client ssh via un processus enfant .