Per ssh Kommando auf entferntem Rechner ausführen

Mehr zur Erinnerung steht es hier, als  für die Erkenntnis:

ssh USER@REMOTESERVER 'tar czf - somedir/' > somedir.tar.gz

Mit einem Jumphost dazwischen ist es aber komplizierter - und dies ist die Erkenntnis:

Die Multihop-Situation:

     +-------+       +----------+      +-----------+
     | Laptop| <---> | Jumphost | <--> | FooServer |
     +-------+       +----------+      +-----------+

Um den FooServer zu erreichen, darf man kein Pseudo-Terminal in ssh nutzen, da ansonsten die Ergebnsisse des Kommandos als ASCII übertragen werden, also kein -t Schalter im ssh-Befehl.

ssh -o ProxyCommand='ssh USER@JUMPHOST -pPORT nc FOOSERVER 22' USER@FOOSERVER tar czf - somedir/' > somedir.tar.gz

 

Tags
ssh