Я пытаюсь написать сценарий python, который может использовать ssh на удаленном сервере и может выполнять простые команды, такие как ls, cd, из клиента python . Однако я не могу прочитать вывод псевдотерминала после успешного ssh'ing на сервер. Может ли кто-нибудь помочь мне здесь, чтобы я мог выполнять некоторые команды на сервере.
Вот пример кода:
#!/usr/bin/python2.6
import os,sys,time,thread
pid,fd = os.forkpty()
if pid == 0:
os.execv('/usr/bin/ssh',['/usr/bin/ssh','user@host',])
sys.exit(0)
else:
output = os.read(fd,1024)
print output
data = output
os.write(fd,'password\n')
time.sleep(1)
output = os.read(fd,1024)
print output
os.write(fd,'ls\n')
output = os.read(fd,1024)
print output
Пример вывода:
user@host's password:
Last login: Wed Aug 24 03:16:57 2011 from 1x.x.x.xxxx
-bash: ulimit: open files: cannot modify limit: Operation not permitted
host: /home/user>ls