2013-09-01 2 views
0

Я нахожусь в системе с ip x. Я хочу, чтобы ssh в систему с ip y из X, проделайте некоторую работу с y-оболочкой, используя x, и снова выйдите в x. Using pythonpython и ssh от x до Y

У меня есть следующий фрагмент кода в python, который я намерен запускать на x

if __name__ == "__main__": 
    print "inside main of python file" 
    command="ssh [email protected]" 
    output=subprocess.Popen(command, shell =False) 

Когда я запускаю это я надеялся, что новая оболочка будет открыть на текущей оболочке, а затем я могу идти вперед wrkg с 172.1.1.2 .. Однако я обнаружил, что мой текущий оболочка испортился после SSH к 172.1.1.2 было сделано .

Я думаю, что я делаю что-то неправильно.

ответ

1

Его лучше использовать «ткань», если вы хотите запускать команды оболочки через ssh, предполагая, что вы будете создавать сценарий python + shell повторяющейся задачи. В любом случае вы можете просто запускать задачи с помощью IPython, получать доступ и выполнять любые действия на основе оболочки из самого IPython.

Если вам нужен доступ к оболочке Bash/* SH, то предпочтительнее использовать его для входа в систему и создания оболочки для удаленного сервера.

0

Вместо использования модуля подпроцесса я рекомендую попробовать использовать инструмент под названием Fabric, который предназначен для запуска команд python по ssh.

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