我正在尝试与远程服务器建立SSH连接以执行某些命令。我需要在最终程序中接受CLA,因此我试图从命令提示符处执行。给出了示例代码
#include <stdio.h>
#define PATH_MAX 128
int main(void){
FILE *fp;
char path[PATH_MAX];
fp = popen("ssh user@HOST \"command\"", "r");
if (fp == NULL)
/* Handle error */;
while (fgets(path, PATH_MAX, fp) != NULL)
printf("%s", path);
fclose(fp);
return 0;
}
该代码使用DevC ++可以很好地执行,但是当我从Command提示符下执行该代码时,它不会执行并给出以下消息“ 'ssh'不被识别为内部或外部命令,可操作的程序或批处理文件。“我尝试了system(“ some command”)和popen()。两者都可以在DevC中正常工作,但是从命令提示符执行时会给出相同的消息。我正在安装MinGW gcc版本8.2.0(MinGW.org GCC-8.2.0-3)
SSH.exe
必须在Windows PATH
中。程序运行时,它可能不在您的配置文件下运行。
它可能正在未定义相同PATH
的系统配置文件下运行。您可以检查程序和/或更新PATH
或使其专门在您的配置文件下运行。