Я использую этот код для выполнения команды на удаленном сервере.Подпроцесс на удаленном сервере
import subprocess
import sys
COMMAND="ls"
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
if result == []:
error = ssh.stderr.readlines()
print >>sys.stderr, "ERROR: %s" % error
else:
print result
Когда я пытаюсь выполнить этот скрипт, я получаю запрос на ввод пароля. Есть ли способ избежать этого, например, можно каким-то образом ввести пароль в скрипт? Кроме того, пароль должен быть зашифрован так, чтобы люди, имеющие доступ к скрипту, не могли его увидеть.
Вы задумывались над использованием схемы аутентификации, отличной от ввода пароля? –