В настоящее время я пытаюсь выяснить, как подключиться к другому серверу через SSH с помощью функций оболочки PHP. У меня есть сайт, на котором я должен передавать данные из PHP в пользовательскую программу командной строки, а затем возвращать вывод. На старом сервере, который я использовал, это было возможно с помощью функции exec ():
$cmd = '/path/to/custom/program "arg1", "arg2", "arg3"'; exec($cms, $output);
$ output, конечно же, будет содержать данные, которые моя программа вернула.
Теперь я в состоянии, когда хост не разрешит мне запускать мою собственную программу. Однако функции оболочки PHP все еще доступны. Хост предложил мне настроить PHP на SSH на другой сервер, запустить команды, которые мне нужно запустить, а затем вернуть результат. Это похоже на невероятно отсталый способ делать что-то, но что я знаю?
Мой конкретный вопрос связан с тем, как я буду передавать информацию для входа в команду exec (). Например, когда я подключаюсь к любому SSH-серверу вручную, я добавляю:
ssh myserver.com -l myusername
И вот я вижу:
myusername@myserver.com's password:
Если бы я передал «ssh myserver.com -l myusername» в качестве команды exec (), как бы я тогда дал ему пароль? После этого, как я тогда узнаю, что я правильно аутентифицирован и подключен, чтобы запустить команду для своей программы?
О, а также, у меня нет доступа к функциям ssh2 в PHP, и я не смогу установить это расширение.