具有Powershell终端和Javascript的Windows版OpenSSH

时间:2018-10-05 17:40:38

标签: javascript node.js powershell openssh libssh2

我们有一个Node.js应用程序,我们正在尝试对该脚本进行脚本控制Windows 2012R2服务器。我们已经安装了OpenSSH并进行了必要的更改,以便它为终端处理器调用powershell.exe而不是cmd.exe。这一切都很好。我们可以从运行Node.js应用程序的Linux服务器进行SSH,一切都是100%。

现在,我们添加ssh2 / ssh2shell npm软件包,并尝试通过我们的应用程序运行命令。我们肯定正在连接,并在发送命令时获得响应。但是,连接/响应会出现转义序列,在我看来最好是VT100 / Xterm代码(例如[4; 15H-位置至第4行第15位)。这使事情难以解析。

更糟糕的是,当我们向连接发送命令时,例如“ get-childitem”,结果似乎回显了一次回音,剥离了一个字符:

Connected to server.mydomain.com\n[4;15H                                                     
[4;16Het-childitem                                                     
[4;17H[4;17Ht-childitem                                                     
[4;18H[4;18H-childitem                                                     
[4;19H[4;19Hchilditem                                                     
[4;20H[4;20Hhilditem                                                     
[4;21H[4;21Hilditem                                                     
[4;22H[4;22Hlditem                                                     
[4;23H[4;23Hditem                                                     
[4;24H[4;24Hitem                                                     
[4;25H[4;25Htem                                                     
[4;26H[4;26Hem                                                     
[4;27H[4;27Hm                                                     
[4;28H[4;1H\n

它的行为就像一个哑终端。与其他Linux设备的SSH编码连接似乎完全返回了预期的结果。一直在尝试各种方法来获得干净的输出,但到目前为止还无法完成。

任何帮助将不胜感激。

0 个答案:

没有答案