Ich möchte benutzen paramiko
zu ssh in ein Bündel einen Remote-Knoten und führen Sie eine Befehlszeile mit root
Privileg
Ich habe einen SSH-Schlüssel in meinem Home-Verzeichnis und muss daher kein Passwort eingeben, wenn ich in diese Remote-Knoten sshe
aber beim Ausführen des folgenden Skripts:
def connect(hostname):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname, username='niky', pkey=paramiko.RSAKey.from_private_key(open('id_rsa'), 'passwd'), timeout = 240.0) return ssh
def run(hostname):
ssh = connect(hostname)
(stdin, stdout, stderr) = ssh.exec_command("sudo ls")
res = stderr.readlines()
print hostname+': '+''.join(str(elem) for elem in res)+'\n'
run(remote.nity.com)
Ich habe folgende Fehlermeldung erhalten:
remote.nity.com: sudo: no tty present and no askpass program specified
wenn ich nicht hinzufüge sudo
Vor ls
alles funktioniert gut
Was sind mögliche Gründe?
Vielen Dank!