2013-09-01 39 views
0

我在系统上使用ip x。我想从s到系统ip y从X,做一些工作在y外壳使用x并出来退出到x再次..使用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) 

当我运行此我希望新外壳将在目前的外壳打开,然后我可以继续用172.1.1.2 wrkg。但是我发现我现在的壳得到了SSH损坏后到172.1.1.2已完成 。

我想我做错了什么。

回答

1

如果你想通过ssh运行shell命令,假设你将创建一个重复任务的python + shell脚本,那么最好使用'fabric'。在任何情况下,您都可以通过IPython运行结构任务,获取访问权限并在IPython内部执行任何基于shell的活动。

如果您想要Bash/* SH shell访问,那么最好使用expect来执行登录并在远程服务器上为您创建一个shell。

0

除了使用子进程模块外,我建议您尝试使用一种名为Fabric的工具,该工具专用于通过ssh运行python命令。