gpt4 book ai didi

c++ - 使用 popen 函数或使用非编译库在 C++ 中运行 ssh

转载 作者:太空宇宙 更新时间:2023-11-04 09:16:53 24 4
gpt4 key购买 nike

我想使用 ssh 在远程设备上运行一些脚本,但我不想使用库。我想运行 popen 函数并运行 ssh。

FILE *f = popen( "ssh -t -t root@192.168.1.2", "r" );

if(f)
{
fprintf(f, "/opt/somescript.sh\n");
pclose(f);
}

当我运行这段代码时,我可以看到连接在终端上建立和关闭。但是脚本并没有真正在远程机器上运行。

不想用库的意思,编译库。因为这段代码将运行不同的平台,我无法为每个平台编译库。如果我能用纯c++代码就OK了。我下载了 libssh 源代码,但它太复杂了,我不编译就不知道如何使用它。

最佳答案

你的输入和输出是错误的。您使用“r”打开 ssh,这意味着您对脚本输出感兴趣,但随后您尝试将 fprintf 添加到其中,这毫无意义。

尝试将 popen 替换为:FILE *f = popen( "ssh -t -t root@192.168.1.2/opt/somescript.sh", "r");

关于c++ - 使用 popen 函数或使用非编译库在 C++ 中运行 ssh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46464477/

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