Я новичок в использовании pxssh и плохо понимаю, как он работает. Я знаю, что он должен ожидать от системы ожидаемого запроса / ответа, а затем вы можете отправлять команды, как если бы вы были локально на компьютере, но я застреваю в запросе, что pxssh не ожидает, и я думаю, как обойти это. , Я пытаюсь скопировать файл с удаленного сервера обратно на мой, как только это не удается из того, что я подозреваю, приглашение, которое не может быть сопоставлено. Мне было просто любопытно, могу ли я сказать pxssh, какую подсказку ожидать, и если да, то как мне это исправить. Я читал онлайн-материалы, но, похоже, не могу найти ответ, который ищу.
Может кто-нибудь помочь или, возможно, исправить мое понимание.
from pexpect import pxssh
import getpass
host = 'randomhost.com'
usernm = 'myusername'
try:
a = pxssh.pxssh()
hostname = host
username = usernm
password = getpass.getpass('password: ')
a.login (hostname, username, password)
a.sendline('scp TEST_FILE.SH alternatehost.com:/export/home/myusername/Python')
a.prompt() # match the prompt
print a.before # print everything before prompt.
a.logout()
print('The file has been copied.')
except pxssh.ExceptionPxssh, e:
print "pxssh failed on login."
print str(e)