Невозможно сделать SSH с помощью командной строки \ - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь установить 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 ++, но когда я выполняю его из командной строки, он не выполняется, выдавая следующее сообщение " 'ssh' не распознается как внутренний или внешнийкоманда, работающая программа или командный файл."Я пробовал как system (" некоторая команда "), так и popen () .Оба отлично работают в DevC, но выдают одно и то же сообщение при запуске из командной строки.У меня установлен MinGW gcc версии 8.2.0 (MinGW.org GCC-8.2.0-3)

1 Ответ

0 голосов
/ 26 сентября 2019

SSH.exe должен быть в Windows PATH.Когда программа работает, она может не работать под вашим профилем.

Возможно, он работает в системном профиле, для которого не определено то же значение PATH.Вы можете проверить и / или обновить программу PATH или запустить ее под вашим профилем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...