2015-10-13 3 views
0

На данный момент я запускаю свою программу python через терминал linux.как я могу выполнить свой скрипт python после выполнения ssh

В одной части условного оператора elif выполняется команда linux ssh на удаленный доступ к другой машине os.system('ssh ' + <varWithHostName>.

После этого SSH в другую машину, похоже, выходит из моей программы. Как продолжить выполнение следующей части моей программы после того, как она ssh'ed на другой компьютер.

Модуль Paramiko, который я слышу, может быть ответом? или это можно сделать без модуля?

+0

Показать всю программу. – RobertB

ответ

0

Если вы пытаетесь выполнить сценарий на удаленном компьютере с помощью ssh, вы можете запустить скрипт с помощью ssh. например

os.system('ssh ' + <varWithHostName> + ' foo.py') 

, учитывая, что foo.py существует на машине

http://www.cyberciti.biz/faq/unix-linux-execute-command-using-ssh/

+0

О, круто, по какой-то причине он добавляет в конец varWithHostName, что приводит к неправильному имени хоста. Ошибка output = ssh: Не удалось разрешить имя хоста rorodostuff.py: Нет адреса, связанного с именем хоста. roro = dostuff.py = kaz

+0

Возможно, вам нужно проверить, существует ли в каталоге на этом компьютере 'foo.py'; Я на самом деле не уверен, что пошло не так, но если у вас есть команда ssh внутри 'foo.py', я не уверен, что вы можете запустить остальную часть' foo.py' в инструкции 'elif', вы можете должны запускать все, что находится в инструкции 'elif' с удаленной машины – ljk

Смежные вопросы