Для этого не нужно использовать expect
. Команда ssh
может принимать дополнительные аргументы команд, которые вы хотите запустить через SSH-соединение.
Настройте пару ключей SSH (погуглите )и затем скопируйте ключ SSH на удаленный сервер. Для этого я бы рекомендовал использовать ssh-copy-id
. См. мой ответ на этот вопрос и ответ U&L под названием:Как правильно копировать закрытые ключи с удаленных серверов на мою локальную машину, чтобы я мог подключаться с помощью ssh .
Теперь, когда есть возможность подключиться по SSH к серверу с помощью ключа, ваша вышеуказанная проблема превращается в эту:
$ ssh root@129.0.0.10 "ls -la; ps -af"
Вы можете проявить фантазию и использовать здесь документы (heredocs aka.здесь -docs)для дальнейшего улучшения этой техники.
$ ssh root@129.0.0.10 < ls -la
> ps -af
> EOF
или поместите команды в файл и передайте ихssh
:
$ ssh root@129.0.0.10 < my.cmds
Вам понадобится веб-сервер. (Вы загружаете файл с веб-сервера, верно? )для интерпретации php. Скорее всего у вас не установлен php.
Например, если веб-сервер использует apache в системе, подобной Debian -, вам может потребоваться установить пакет libapache2 -mod -php. Если вы использовали nginx, вы должны настроить его через fastcgi и т. д.
Точные шаги будут зависеть от вашей ОС, дистрибутива, веб-сервера...