scp mit _2_ Nichtstandard-Ports
Es geht um 3 PCs, PC A identifiziert sich bei PC B und PC C mit Keys. PC B hat als ssh-Port (zB) Port 22222 und PC C hat Port 33333 PC A ist ein Rechner im lokalen Netz mit lokaler IP-Adresse und hat über ein Gateway Zugang ins Internet, ist aber von außen nicht erreichbar. PC B ist ein Rechner im Internet, wobei mit dyndns die IP-Adresse bekannt ist und der ssh-Port offen ist. PC C ist ein Rechner im lokalen WLAN-Netz mit _lokaler_ IP-Adresse Das WLAN-Netz ist aus dem Internet nicht erreichbar. PC A kann über ein Gateway PC C erreichen PC B und C dürfen nicht auf A zugreifen. Ich hoffe, ich habe nichts vergessen ;-) Wie kopiert man nun von PC A aus, Dateien per scp von PC B nach PC C? Bis jetzt habe ich das in 2 Etappen gemacht, das ist aber etwas aufwendig. auf PC A: scp -r -P 22222 user@dyndns.domain:/dir_auf_b /dir_auf_a scp -r -P 33333 /dir_auf_a user@IP_PC_C:/dir_auf_c Das sollte ohne Zwischenspeichern möglich werden. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Sun, 22 May 2011, Al Bogner schrieb:
Es geht um 3 PCs, PC A identifiziert sich bei PC B und PC C mit Keys. PC B hat als ssh-Port (zB) Port 22222 und PC C hat Port 33333
PC A ist ein Rechner im lokalen Netz mit lokaler IP-Adresse und hat über ein Gateway Zugang ins Internet, ist aber von außen nicht erreichbar.
PC B ist ein Rechner im Internet, wobei mit dyndns die IP-Adresse bekannt ist und der ssh-Port offen ist.
PC C ist ein Rechner im lokalen WLAN-Netz mit _lokaler_ IP-Adresse Das WLAN-Netz ist aus dem Internet nicht erreichbar.
PC A kann über ein Gateway PC C erreichen
PC B und C dürfen nicht auf A zugreifen. [..] auf PC A: scp -r -P 22222 user@dyndns.domain:/dir_auf_b /dir_auf_a scp -r -P 33333 /dir_auf_a user@IP_PC_C:/dir_auf_c
Das sollte ohne Zwischenspeichern möglich werden.
ssh -p 22222 user@dyndns.domain \ scp -r -P 33333 /dir_auf_b user@IP_PC_C:/dir_auf_c Dazu müßte eben auf B der ssh-key von C liegen. Oder andersrum ssh -p 33333 user@IP_PC_C \ scp -r -P 22222 user@dyndns.domain:/dir_auf_b /dir_auf_c Dazu müßte eben auf C der ssh-key von B liegen. Wenn du die Keys nicht von A kopieren willst muß du halt den Umweg über A machen: ssh -p 22222 user@dyndns.domain tar -cp -C /dir_auf_b . | \ ssh -p 33333 user@IP_PC_C tar -xvp -C /dir_auf_c HTH, -dnh -- "Computer gehorchen deinen Befehlen, nicht deinen Absichten." -- Sig von Till Pontinius -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mo, 23 Mai 2011 02:13:09 CEST schrieb David Haller: Hallo David,
Am Sun, 22 May 2011, Al Bogner schrieb:
Es geht um 3 PCs, PC A identifiziert sich bei PC B und PC C mit Keys. PC B hat als ssh-Port (zB) Port 22222 und PC C hat Port 33333
PC A ist ein Rechner im lokalen Netz mit lokaler IP-Adresse und hat über ein Gateway Zugang ins Internet, ist aber von außen nicht erreichbar.
PC B ist ein Rechner im Internet, wobei mit dyndns die IP-Adresse bekannt ist und der ssh-Port offen ist.
PC C ist ein Rechner im lokalen WLAN-Netz mit _lokaler_ IP-Adresse Das WLAN-Netz ist aus dem Internet nicht erreichbar.
PC A kann über ein Gateway PC C erreichen
PC B und C dürfen nicht auf A zugreifen. [..] auf PC A: scp -r -P 22222 user@dyndns.domain:/dir_auf_b /dir_auf_a scp -r -P 33333 /dir_auf_a user@IP_PC_C:/dir_auf_c
Das sollte ohne Zwischenspeichern möglich werden.
ssh -p 22222 user@dyndns.domain \ scp -r -P 33333 /dir_auf_b user@IP_PC_C:/dir_auf_c
IP_PC_C hat nur eine lokale IP.
Dazu müßte eben auf B der ssh-key von C liegen.
Das ist kein Problem.
Oder andersrum
Das sollte gehen
ssh -p 33333 user@IP_PC_C \ scp -r -P 22222 user@dyndns.domain:/dir_auf_b /dir_auf_c
Ich kann es aber gerade nicht probieren.
Dazu müßte eben auf C der ssh-key von B liegen.
Wichtig ist nur, dass C und B nicht auf A zugreifen können.
Wenn du die Keys nicht von A kopieren willst muß du halt den Umweg über A machen:
B und C gehören dem gleichen User, A ist mein Rechner, der hilft.
ssh -p 22222 user@dyndns.domain tar -cp -C /dir_auf_b . | \ ssh -p 33333 user@IP_PC_C tar -xvp -C /dir_auf_c
Die Idee mit tar muss ich mir noch durch den Kopf gehen lassen. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mo, 23 Mai 2011 13:28:38 CEST schrieb Al Bogner:
Es geht um 3 PCs, PC A identifiziert sich bei PC B und PC C mit Keys. PC B hat als ssh-Port (zB) Port 22222 und PC C hat Port 33333
PC A ist ein Rechner im lokalen Netz mit lokaler IP-Adresse und hat über ein Gateway Zugang ins Internet, ist aber von außen nicht erreichbar.
PC B ist ein Rechner im Internet, wobei mit dyndns die IP-Adresse bekannt ist und der ssh-Port offen ist.
PC C ist ein Rechner im lokalen WLAN-Netz mit _lokaler_ IP-Adresse Das WLAN-Netz ist aus dem Internet nicht erreichbar.
PC A kann über ein Gateway PC C erreichen
PC B und C dürfen nicht auf A zugreifen. [..] auf PC A: scp -r -P 22222 user@dyndns.domain:/dir_auf_b /dir_auf_a scp -r -P 33333 /dir_auf_a user@IP_PC_C:/dir_auf_c
Das sollte ohne Zwischenspeichern möglich werden.
ssh -p 22222 user@dyndns.domain \ scp -r -P 33333 /dir_auf_b user@IP_PC_C:/dir_auf_c
IP_PC_C hat nur eine lokale IP.
Dazu müßte eben auf B der ssh-key von C liegen.
Das ist kein Problem.
Oder andersrum
Das sollte gehen
ssh -p 33333 user@IP_PC_C \ scp -r -P 22222 user@dyndns.domain:/dir_auf_b /dir_auf_c
Ich kann es aber gerade nicht probieren.
Mittlerweile konnte ich es testen und es ist eigentlich relativ einfach. Man verbindet sich via ssh vom Rechner A zum Rechner C, also ssh -p 33333 IP-Addresse-Rechner-C Ist man nun am Rechner C, ist der Nichtstandard-Port dort dann Nebensache. Nun kann man scp zwischen B und C verwenden, also scp -P 22222 user@dyndns.domain:/dir_auf_b /dir_auf_c Umgekehrt geht es aber nicht, da der Rechner C im WLAN nicht aus dem Internet ansprechbar ist. Wie von David bereits erwähnt, kann man das mit tar kombinieren. Danke an David für die detaillierten Kommentare per PM. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
Al Bogner
-
David Haller