[gelöst] Script Befehle nach ssh

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
joe2017
Beiträge: 1305
Registriert: 07.08.2017 14:29:51

[gelöst] Script Befehle nach ssh

Beitrag von joe2017 » 13.06.2024 07:13:48

Guten Morgen zusammen,

ich müsste von meinem Juniper Switch automatisiert die MAC Table auslesen.
Dies möchte via Script von meinem Debian Server durchführen lassen.

Den automatischen Login via ssh habe ich bereits hinbekommen.

Code: Alles auswählen

sshpass -p "password" ssh -o StrictHostKeyChecking=no user@password
Jetzt muss ich noch mehrere Befehle absetzen.
Nach der Anmeldung am Switch muss ich zu erstes den Befehl "cli" absetzten.
Anschließend kann ich die MAC Table auslesen "show ethernet-switching table"

Die Ausgabe möchte ich gerne auf meinem Debian Server in eine Datei schreiben.

Ich habe shon folgendes versucht...

Code: Alles auswählen

cli | show ethernet-switching table | sshpass -p "password" ssh -o StrictHostKeyChecking=no user@password
sshpass -p "password" ssh -o StrictHostKeyChecking=no user@password 'cli; show ethernet-switching table'
Beides hat nicht funktioniert.


Kann mir hierbei jemand weiterhelfen? :hail:

Vielen Dank
Zuletzt geändert von joe2017 am 17.06.2024 09:50:43, insgesamt 1-mal geändert.

Benutzeravatar
joe2017
Beiträge: 1305
Registriert: 07.08.2017 14:29:51

Re: Script Befehle nach ssh

Beitrag von joe2017 » 13.06.2024 07:43:57

Ich habe gerade noch etwas herausgefunden.

Wenn ich folgenden Befehl absetze...

Code: Alles auswählen

sshpass -p "password" ssh -o StrictHostKeyChecking=no user@password 'cli;"show ethernet-switching table"'
... bin ich im cli modus. Wenn ich diesen mit exit beende kommt die Fehlermeldung "show ethernet-switching table: command not found"
Wenn ich den cli modus nicht beende und "show ethernet-switching table" eingebe, werden mir die Daten angezeigt.

Das liegt daran, das der Befehl direkt ausgeführt wird und nicht erst in den cli modus eingestiegen wird. Gibt es hierfür eine Lösung?

mat6937
Beiträge: 3536
Registriert: 09.12.2014 10:44:00

Re: Script Befehle nach ssh

Beitrag von mat6937 » 13.06.2024 07:49:51

joe2017 hat geschrieben: ↑ zum Beitrag ↑
13.06.2024 07:43:57
Das liegt daran, das der Befehl direkt ausgeführt wird und nicht erst in den cli modus eingestiegen wird.
Du könntest sshd auch so konfigurieren, dass sofort nach der Anmeldung, das Script "./ssh/rc" ausgeführt wird.
Debian 12.10 mit LXDE, OpenBSD 7.7 mit i3wm, FreeBSD 14.2 mit Xfce

Benutzeravatar
bluestar
Beiträge: 2440
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Script Befehle nach ssh

Beitrag von bluestar » 13.06.2024 07:54:18

joe2017 hat geschrieben: ↑ zum Beitrag ↑
13.06.2024 07:43:57
Das liegt daran, das der Befehl direkt ausgeführt wird und nicht erst in den cli modus eingestiegen wird. Gibt es hierfür eine Lösung?
Du solltest wissen das der Juniper Switch keine Bash als Shell verwendet, von daher wirst du auf diesem Wege höchstwahrscheinlich keine Lösung finden.

Du könntest über SNMP die MAC Tabelle aus dem Switch abfragen.

Benutzeravatar
joe2017
Beiträge: 1305
Registriert: 07.08.2017 14:29:51

Re: Script Befehle nach ssh

Beitrag von joe2017 » 13.06.2024 07:57:06

bluestar hat geschrieben: ↑ zum Beitrag ↑
13.06.2024 07:54:18
Du solltest wissen das der Juniper Switch keine Bash als Shell verwendet, von daher wirst du auf diesem Wege höchstwahrscheinlich keine Lösung finden.

Du könntest über SNMP die MAC Tabelle aus dem Switch abfragen.
Aber der ersten cli Befehl wird doch auch ausgeführt?

Ich muss leider noch andere Juniper Befehle absetzen.

Benutzeravatar
joe2017
Beiträge: 1305
Registriert: 07.08.2017 14:29:51

Re: Script Befehle nach ssh

Beitrag von joe2017 » 13.06.2024 08:04:29

Aber wenn du dich mit Juniper Switchen auskennst, kannst du mir sicherlich verraten wie ich die MAC Table löschen kann.
Hier werden leider noch alte Werte (Geräte welche nicht mehr angeschlossen sind) gelistet. Ich habe mit clear schon alles möglich getestet. Leider ohne Erfolg.

Hast du zufällig hierzu einen Befehl welcher die alten MACs entfernt?

Benutzeravatar
bluestar
Beiträge: 2440
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Script Befehle nach ssh

Beitrag von bluestar » 13.06.2024 09:52:33

joe2017 hat geschrieben: ↑ zum Beitrag ↑
13.06.2024 08:04:29
Aber wenn du dich mit Juniper Switchen auskennst, kannst du mir sicherlich verraten wie ich die MAC Table löschen kann.
Ich kenne mich mit managementfähigen Switches aus primär aber mit HP, Cisco und TP-Link mit Juniper hab ich noch keine Erfahrung. Dennoch verrät mir die Suchmaschine meines Vertrauens:

Code: Alles auswählen

mac-table-aging-time (seconds | unlimited);
Quelle: https://www.juniper.net/documentation/u ... dging.html
joe2017 hat geschrieben: ↑ zum Beitrag ↑
13.06.2024 08:04:29
Hast du zufällig hierzu einen Befehl welcher die alten MACs entfernt?
Ja hab ich auch mal gerade gesucht und gefunden:

Code: Alles auswählen

mac-flush [ explicit-mac-flush-message-options ];
https://www.juniper.net/documentation/u ... -vpls.html

Benutzeravatar
joe2017
Beiträge: 1305
Registriert: 07.08.2017 14:29:51

Re: Script Befehle nach ssh

Beitrag von joe2017 » 17.06.2024 09:50:28

Ich habe das ganze lösen können. Hier die Lösung:

Code: Alles auswählen

echo 'show ethernet-switching table' | sshpass -p "password" ssh -o StrictHostKeyChecking=no user@password "cli" &> /path/file.txt

Antworten