Node.js 使用ShellJs执行SSH
我一直在使用shelljs执行某些命令集。所以我尝试通过shelljs通过ssh连接到远程ubuntu服务器。 这是我的nodejs文件Node.js 使用ShellJs执行SSH,node.js,ssh,shelljs,Node.js,Ssh,Shelljs,我一直在使用shelljs执行某些命令集。所以我尝试通过shelljs通过ssh连接到远程ubuntu服务器。 这是我的nodejs文件 var shelljs = require('shelljs'); shelljs.exec('ssh -i [path/to/pem/file] ubuntu@[taregt_ip]'); 但我得到了这个错误: Pseudo-terminal will not be allocated because stdin is not a terminal. 那
var shelljs = require('shelljs');
shelljs.exec('ssh -i [path/to/pem/file] ubuntu@[taregt_ip]');
但我得到了这个错误:
Pseudo-terminal will not be allocated because stdin is not a terminal.
那么,如何解决这个问题,或者是否有任何其他实用程序可以通过一个命令连接到ssh
编辑:你们发布的供我参考的链接不是我问题的副本。SSH并不总是分配一个伪终端。这在本文中得到了解释。您应该添加-tt标志来强制执行此操作
也就是说,我不会使用shelljs来做ssh。由于您只是执行一个本地二进制文件,这个解决方案a是不可移植的,b将不知道如何解析错误或处理意外的输出。我曾经在类似的项目中使用过,因为它有一个交互式SSH选项,可以很容易地从SSH连接创建streams STDOUT和STDIN。我看到了可能的重复,但没有发现它有用。ssh2似乎是正确的选择,但它抛出了这个错误。等待时超时handshake@Satnam在详细模式下运行它。我认为您的SSL配置存在问题,这就是为什么两者都会给您带来问题的原因。