Node.js的SSH客户端

有没有一个SSH客户端node.js我可以用来与服务器通信?

用纯JavaScript编写的用于node.js的SSH2客户端模块

https://github.com/mscdex/ssh2

也检查这个包装它

https://github.com/mikeal/sequest

如果您需要使用密码进行login,Node.jssubprocess将不会执行,因为OpenSSH客户端不会从stdin读取密码,而是从伪terminal读取密码。

你可以通过使用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密钥对。

以下是另外两个选项:

  • NodeSSH客户端
  • 节点控制

客户端是非常坚实和基本的一般使用。 节点控制更适合并行,asynchronous控制许多机器(即系统pipe理工作)。

就像在早先的问题中使用sftp 一样 ,也可以通过subprocess使用ssh客户端。