gpt4 book ai didi

node.js - SSH命令输出到终端但不是控制台登录Electron

转载 作者:行者123 更新时间:2023-12-02 14:30:00 24 4
gpt4 key购买 nike

我正在尝试通过 Node JS 和 Electron 连接到具有 SSH 的机器。这是我的例子:

var command = spawn('ssh', ['-i', '.ssh/mykey', 'ubuntu' + '@' + 'blah.blah.blah']);
command.stdout.on('data', (data) => {
console.log(`out ${data}`);
});
command.stderr.on('data', (data) => {
console.log(`err ${data}`);
});

我将所有消息输出到 stdout 和 stderr,但需要用户输入的消息除外。例如,第一次连接到机器时,以下消息不会打印到开发工具 console.log,而是打印到我的调试终端窗口:
The authenticity of host 'blah.blah.blah (10.10.10.10)' can't be established.
RSA key fingerprint is
a4:d9:a4:d9:a4:d9a4:d9:a4:d9a4:d9a4:d9a4:d9a4:d9a4:d9.
Are you sure you want to continue connecting (yes/no)?

我知道有这样的选择
-o "StrictHostKeyChecking=no"

但是,我不想禁用此安全功能。我仍然希望用户说出提示和选项(是/否)

知道如何将此类消息放入 Electron 应用程序的控制台日志中吗?

最佳答案

我能够通过将详细标记 (-v) 添加到 ssh spawn 命令来获取此事件

然而,在使这个多操作系统独立后,在 node 中使用 npm ssh2 模块要容易得多,并且可以自动处理这些步骤

关于node.js - SSH命令输出到终端但不是控制台登录Electron,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51553806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com