Я хотел бы запустить пакет команд bash (все вместе) в оболочке сервера через скрипт python3 на моей локальной машине. Причина, по которой я не запускаю скрипт python3 на своем ноутбуке, заключается в том, что я не могу создать ту же среду на сервере и хочу сохранить настройки, которые есть на моем компьютере, во время выполнения скрипта. То, что я хотел бы сделать: -Локально запускать команды Python -Работать в определенный момент эти команды на сервере -Дождаться окончания выполнения сервера -Продолжить запуск сценария Python (это будет сделано в цикле)
Я пытаюсь поместить все команды в сценарий bash ssh_commands.sh
и использовать следующую команду:
subprocess.call('cat ssh_commands.sh | ssh -T -S {} -p {} {}'.format(socket, port, user_host).split(),shell=True)
Но когда выполнение сценария достигает этой строки, застряли до subprocess.call
тайм-аут. Выполнение сценария в любом случае не займет так много времени. Единственный способ остановить сценарий до этого - через Ctrl+C
Я также пытался установить ssh-соединение в файле ~/.ssh/config
, но получаю тот же результат.
Я знаю, что ssh-соединение работает нормально, и если я запускаю ssh_commands.sh
на сервере вручную, оно запускается без проблем.
Может кто-нибудь предложить: - Способ исправить то, что я пытаюсь сделать - Aлучший способ достижения конечного результата, описанный выше - некоторый способ отладки, чтобы выяснить, в чем может быть проблема Заранее спасибо