Seite 1 von 1

paramiko Verständnisproblem

Verfasst: Donnerstag 21. November 2019, 15:06
von chw80
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

Re: paramiko Verständnisproblem

Verfasst: Donnerstag 21. November 2019, 18:46
von nezzcarth
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.
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.

Re: paramiko Verständnisproblem

Verfasst: Donnerstag 21. November 2019, 19:42
von Fire Spike
"show uptime" gibt es nicht, weil "show" nicht existiert, aber "uptime" funktioniert wie es soll😉

Re: paramiko Verständnisproblem

Verfasst: Donnerstag 21. November 2019, 20:02
von nezzcarth
Fire Spike hat geschrieben: Donnerstag 21. November 2019, 19:42 "show uptime" gibt es nicht, weil "show" nicht existiert
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. ;)

Re: paramiko Verständnisproblem

Verfasst: Freitag 22. November 2019, 07:49
von chw80
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']

Re: paramiko Verständnisproblem

Verfasst: Freitag 22. November 2019, 08:25
von nezzcarth
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.