Как автоматизировать ввод пароля с помощью scp? - PullRequest
0 голосов
/ 17 октября 2019

Я попробовал pexpect для этого

Вот что я пытаюсь сделать.

copy> 1-гигабайтный файл, используя scp для сетевого устройства. я использую код ниже для этого.

child = pexpect.spawn(f'scp /folder/images/{image_name} {device_name}:/location:') child.expect("password:") child.sendline(pwd) child.expect(pexpect.EOF)

этот код застрял в строке ниже.

2019-10-17 05:42:51,309 - file_sync.py - INFO - Copying the <imageName> to <Device_name>

он не показываетпароль, и кажется, что все происходит тихо в фоновом режиме, и через несколько секунд я вижу ошибку ожидания TimeOut на консоли.

Есть ли способ сделать его интерактивным (аналогично подпроцессу) или любой другой метод, с помощью которого яМожно ввести пароль в интерактивном режиме и увидеть прогресс передачи файла на консоли?

child = pexpect.spawn(f'scp /folder/images/{image_name} {device_name}:/location:')
child.expect("password:")
child.sendline(pwd)
child.expect(pexpect.EOF)
...