我们有一个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编码连接似乎完全返回了预期的结果。一直在尝试各种方法来获得干净的输出,但到目前为止还无法完成。
任何帮助将不胜感激。