Hallo,
ich denke ich habe hier ein kleines Verständnisproblem mit paramiko.
Ich habe versucht eine Verbindung zu einem Server zu erstellen - dies gelingt auch ohne eine Fehlermedlung, jedoch bekomme ich als Ausgabe nur [ ] angezeigt.
Ich denke dass er den Befehl "show uptime" nicht absetzt. Warum kann ich mir leider nicht erklären.
import time
import paramiko
user_name="user"
passwd="passwort"
ip="192.168.x.x"
ssh_client=paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip,username=user_name,password=passwd)
stdin, stdout, stderr = ssh_client.exec_command('show uptime')
stdout=stdout.readlines()
print (stdout)
ssh_client.close()
time.sleep(5)
Gruß
chw80
paramiko Verständnisproblem
Gegenfrage: Bist du sicher, dass 'show uptime' ein korrekter Befehl ist (ein standardmäßiges Unix Kommando ist es meines Wissens nach jedenfalls nicht; das wäre nur 'uptime')? Hast du dir mal den Inhalt von stderr ausgeben lassen? Ansonsten sollte es nämlich eigentlich funktionieren.chw80 hat geschrieben: Donnerstag 21. November 2019, 15:06 Ich denke dass er den Befehl "show uptime" nicht absetzt. Warum kann ich mir leider nicht erklären.
-
- User
- Beiträge: 329
- Registriert: Montag 13. Mai 2019, 16:05
- Wohnort: Erde
"show uptime" gibt es nicht, weil "show" nicht existiert, aber "uptime" funktioniert wie es soll
Na ja, das würde ich so absolut nicht formulieren, da die Varianz in dem Bereich einfach viel zu groß ist. 'show' ist halt kein Standardkommando unter den bekannteren Unix-artigen Systemen. Aber natürlich kann es existieren und sonst wo herkommen (OS, irgendeine Software, selbstgeschrieben, ...). Das ist alles, was man dazu sagen kann. Warten wir einfach die Auskunft des Fragestellers ab.Fire Spike hat geschrieben: Donnerstag 21. November 2019, 19:42 "show uptime" gibt es nicht, weil "show" nicht existiert

Hi,
bei dem System was wir verwenden funktioniert der Befehl direkt in einer ssh-Session.
Als Ausgabe kommt dann: 07:47:07 up 19:24, 1 users, load average: 1.25, 1.20, 1.16
Habe mir nun das stderr ausgeben lassen und bekomme dann die Meldung: ['show uptime: No such file or directory\n']
bei dem System was wir verwenden funktioniert der Befehl direkt in einer ssh-Session.
Als Ausgabe kommt dann: 07:47:07 up 19:24, 1 users, load average: 1.25, 1.20, 1.16
Habe mir nun das stderr ausgeben lassen und bekomme dann die Meldung: ['show uptime: No such file or directory\n']
Das entspricht soweit der gewohnten Ausgabe von 'uptime' und du könnst meiner Meinung nach vermutlich einfach das verwenden. Du kannst ja zur Sicherheit Mal vergleichen, ob beide dieselbe Ausgabe liefern.
Es kann sein, dass 'show' nur in interaktiven Sitzungen verfügbar ist (z.B. weil es ein Alias ist oder weil die PATH Variable erweitert wurde) Das kannst du etwa mit 'command -v show' bzw 'type show' in einer interaktiven Sitzung testen.
Es kann sein, dass 'show' nur in interaktiven Sitzungen verfügbar ist (z.B. weil es ein Alias ist oder weil die PATH Variable erweitert wurde) Das kannst du etwa mit 'command -v show' bzw 'type show' in einer interaktiven Sitzung testen.