SSH-Ausgabe in Datei umleiten

W

waschbaer

Jungspund
Hallo,

ich habe ein Scripte geschrieben, dass die folgende Zeile enthält:

Code:
ssh user@19.168.47.11 /usr/sbin/esxcfg-info > /usr/local/OUTPUT

Wird diese Zeile auf der Shell ausgeführt, dann erhalte ich die Datei "OUTPUT" die einen Text enthält. Ich möchte aber, dass mein Scripte den Text in die Datei OUTPUT schreibt. Leider ist das nicht so. Ich erhalte immer nur eine leere Datei.

Weiß Jemand wie das geht? :think:
 
Hi,

so eine aehnliche Frage gab es hier vor laengerem schonmal. Du musst dir bei ssh immer darueber bewusst sein, was auf welchem Rechner ausgefuehrt wird.

Der Befehl selber wird remote ausgefuehrt, die Umleitung erfolgt aber lokal. Und da der ssh Befehl lokal keine Ausgabe hat, wird eine leere Datei angelegt.

Die einfachste Loesung die mir dazu einfallen wuerde, ist einfach die Datei remote anlegen zu lassen und dann mit scp auf den lokalen Rechner zu kopieren. Also so in etwa:

Code:
ssh user@host "/bin/foo > /home/user/output"
scp user@host:/home/user/output .

mfg,
bytepool
 
Hallo

Danke für die Antwort :). Habe ich mir auch schon überlegt.

Die Lösung hätte aber den Nachteil, dass ich noch einen RSA-Key für die SCP-Verbindung benötige. :think:
 
Extra RSA-Key

Denke schon - wenn ich die manuelle Passworteingabe beim Kopieren vermeiden will... Wüßte jedenfalls nicht wie das anders geht. :hilfe2:
 
Hm, irgendwie ging ich davon aus, das so du schon einen hast, sry. Aber sowas ist ja auch gleich erstellt ;)
 
Ich habe einen Key lokal erstellt. Den Public-Key habe ich zu 19.168.47.11 kopiert und dort konfiguriert. Wenn ich dich richtig verstehe, dann meinst du dass mit einem(!) Key eine bidirektionale Verbindung möglich ist!? Richtig?
 
Was meinst du hier mit bidirektional? Du kannst damit passwortlos von deinem Recher (bzw. von dem Rechner aus, auf dem du den Key erstellt hast) via ssh, scp, rsync, ... auf die Rechner zugreifen, auf die du deinen öffentlichen Schlüssel kopiert und entsprechend eingerichtet hast. Der Vorschlag von bytepool
Code:
ssh user@host "/bin/foo > /home/user/output"
scp user@host:/home/user/output .
funktioniert somit.
 
Danke

Ja, stimmt. Hatte den Ansatz anfänglich nicht ganz verstanden. SCP wird natürlich auf dem gleichen Server ausgeführt, von dem aus auch der SSH-Aufruf erfolgt.

Funktioniert jetzt super. War wirklich die einfachste Lösung.

daboss und bytepool

:respekt:

Danke! :]

Problem gelösst.
 

Ähnliche Themen

chown Befehl in einem Script

Falsche Ausgabe von $LINENO

find Ausgabe in "Anführungszeichen"

Keine grafische Oberfläche (Debian Installation)

CentOS 5.8 –SQL Abfrage– HTML wird generiert und daraus müssen mehrere Mails versendet werden

Zurück
Oben