SSHPass работает в терминале, но не в Python Сценарий - В доступе отказано, повторите попытку - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь получить файл .jpg с моего Pi Zero и передать его на мой Pi 3B, используя SCP с SSHPass. Вот мой код:

for x in range(0, count):
        client.exec_command('sudo -E python3 startup.py')
        name = "img"+str(x)
        print(name)
        output = subprocess.check_output("pwd", shell=True)
        output = str(output)[2:(len(str(output))-2)]
        os.system("pwd")
        print(output)
        command=("sshpass -p \'raspberry\' scp raspberrypizero.local:img.jpg "+name+".jpg")
        print(command)
        subprocess.Popen('./go.sh')
        print("Running")

И код в go. sh:

#!/bin/sh
sshpass -p 'raspberry' scp raspberrypizero.local:img.jpg img0.jpg

Всякий раз, когда я запускаю go. sh команда в терминале, в том же каталоге, она отлично работает, и изображение успешно передается. Однако всякий раз, когда я пытаюсь выполнить команду в сценарии python, я получаю такой вывод:

sshpass -p 'raspberry' scp raspberrypizero.local:img.jpg img1.jpg
Permission denied, please try again.
Running

Я пытался использовать os.system, а также subprocess.call, однако ни одна из этих работ не работает .

Так что, если кто-нибудь может дать мне знать или понять, почему sshpass / scp работает в терминале, но не при выполнении его с помощью сценария python, это было бы очень полезно.

Приветствия.

...