В Python есть ошибка, которую можно исправить, изменив файл в /usr/lib/
. Но у меня нет разрешения на редактирование этого файла, есть ли способ решить эту проблему? Можно ли переписать это решение в папке кода?
Следующий код Python использует пакет pxssh
для подключения к компьютеру с помощью ssh
и запускает команду на этом компьютере.
import pxssh
import getpass
try:
s = pxssh.pxssh()
hostname = raw_input('hostname: ')
username = raw_input('username: ')
password = getpass.getpass('password: ')
s.login (hostname, username, password)
s.sendline ('uptime') # run a command
s.prompt() # match the prompt
print s.before # print everything before the prompt.
s.logout()
except pxssh.ExceptionPxssh, e:
print "pxssh failed on login."
print str(e)
Но когда я запускаю эту программу, я получаю следующую ошибку.
Traceback (most recent call last):
File "main.py", line 8, in <module>
s.login (hostname, username, password)
File "/usr/lib/python2.7/dist-packages/pxssh.py", line 243, in login
if not self.synch_original_prompt():
File "/usr/lib/python2.7/dist-packages/pxssh.py", line 134, in synch_original_prompt
self.read_nonblocking(size=10000,timeout=1) # GAS: Clear out the cache before getting the prompt
File "/usr/lib/python2.7/dist-packages/pexpect.py", line 824, in read_nonblocking
raise TIMEOUT ('Timeout exceeded in read_nonblocking().')
pexpect.TIMEOUT: Timeout exceeded in read_nonblocking().
Я уверен, что мои учетные данные хоста верны (я могу напрямую подключиться к ним с помощью ssh
). Я искал проблему, и кажется, что это ошибка в python, и ее можно устранить, отредактировав файл /usr/lib/python2.7/dist-packages/pxssh.py
который я не имею разрешения редактировать. Каков наилучший способ решить эту проблему без изменения этого файла и получения root-прав на этом компьютере?