我需要编写一个脚本来ssh到远程服务器并在那里运行一些命令。 任何人都可以建议我帮助我这样做的任何模块吗?
我尝试使用pexpect。我能够登录到机器,提供密码,但无法执行任何unix命令。 pexpect是否意味着这种用法?
command = 'ssh '+'uname@'+ vm
ssh_newkey = 'Are you sure you want to continue connecting'
# my ssh command line
p=pexpect.spawn(command)
i=p.expect([ssh_newkey,'password:',pexpect.EOF])
if i==0:
print "Say yes to prompt"
p.sendline('yes')
i=p.expect([ssh_newkey,'password:',pexpect.EOF])
if i==1:
print "I give password\n",
p.sendline("abcd")
p.sendline("pwd")
p.expect('xyza')
#p.sendline("//some unix command")
直到最后一行的所有内容都没问题,但是从那时起我的脚本就会退出。
答案 0 :(得分:0)
如果你想在远程服务器上做一些相对快速的事情fabric可能是用于python的最好的东西。 Fabric是在paramiko之上编写的,并且有一些API级抽象,比paramiko更容易使用。