2015-01-13 8 views
0

원격 서버에 ssh에 대한 스크립트를 작성하고 거기에서 일부 명령을 실행해야합니다. 누구든지 내게 이것을 도와 줄 수있는 모듈을 제안 할 수 있습니까?원격 서버에서 명령을 실행하는 대화 형 Python 스크립트

나는 pexpect를 사용해 보았습니다. 나는 기계에 로그인 할 수 있었고 암호를 제공 할 수는 있었지만 유닉스 명령을 실행할 수 없었다. pexpect는이 정렬 ID 사용을 의미합니까?

command = 'ssh '+'[email protected]'+ 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") 

마지막 줄까지 괜찮 았지만 이후에는 내 스크립트가 종료됩니다.

+1

'paramiko.SSHClient'이 모두 –

+0

고맙습니다. 그것은 효과가 있었다. – user892871

답변

0

원격 서버에서 비교적 빠른 것을하고 싶다면 fabric이 아마도 python에 사용하는 것이 가장 좋습니다. Fabric은 paramiko 위에 작성되었으며 paramiko보다 사용하기 쉬운 API 수준의 추상화가 있습니다.