Ich habe einige Skizzen gezeichnet
Die Maschine, auf der der Befehl ssh tunnel eingegeben wird, heißt »Ihr Host« .
Einführung
lokal: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
ssh -L sourcePort:forwardToHost:onPort connectToHost
bedeutet: Verbindung mit ssh herstellen connectToHost
und alle Verbindungsversuche an den lokalen sourcePort
Port onPort
des angerufenen Computers weiterleiten forwardToHost
, der vom connectToHost
Computer aus erreichbar ist.
Fernbedienung: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
ssh -R sourcePort:forwardToHost:onPort connectToHost
bedeutet: Verbinden Sie sich mit ssh mit connectToHost
und leiten Sie alle Verbindungsversuche an den Remote- sourcePort
Port onPort
des angerufenen Computers weiter forwardToHost
, der von Ihrem lokalen Computer aus erreichbar ist.
Dein Beispiel
Wenn Sie nur möchten, dass die X-Weiterleitung funktioniert, dh einige X-Anwendungen auf dem Computer zu Hause ausführen und auf einem Remote-System anzeigen lassen (nennen wir es Arbeitscomputer, weil es sich möglicherweise an Ihrem Arbeitsplatz befindet), dann sind Sie möglicherweise brauche überhaupt keinen SSH-Tunnel.
Starten Sie X-Anwendungen ohne Tunnel
Können Sie einfach vom Arbeitscomputer auf Ihren Heimcomputer ssh? Wenn dies der Fall ist , wenn Sie auf dem Arbeitscomputer sitzen und eine X-Anwendung starten möchten, die auf Ihrem Heimcomputer ausgeführt wird, aber auf Ihrem Arbeitscomputer angezeigt wird , müssen Sie Folgendes eingeben (auf dem Arbeitscomputer):
ssh -X homeuser @ homecomputer Firefox
Dadurch wird Firefox auf Ihrem Heimcomputer gestartet und auf dem Computer angezeigt, auf dem Sie diesen Befehl eingegeben haben, z. B. auf Ihrem Arbeitscomputer.
Versteckter Computer braucht Tunnel
Dies ist Bild Nummer 3 meiner Skizzen. Oft ist der Heimcomputer nicht direkt über das Internet erreichbar, da er sich hinter einer Firewall befindet oder über NAT (vor einem Router) verborgen ist . Dann können Sie einen Tunnel benutzen.
An Ihrem blauen Heimcomputer ( yourhost
) geben Sie Folgendes ein:
ssh -R 5555:localhost:22 remoteuser@remotehost
Wo 5555
ist der grüne Port und 22
ist der rosa Port im Bild.
Wenn Sie jetzt bei der Arbeit sind remotehost
und eine Verbindung zum grünen Port herstellen 5555
, wird Ihre Verbindung getunnelt / an den rosa Port Ihres Heimcomputers localhost
(dh Ihres blauen Heimcomputers selbst) weitergeleitet. Jetzt müssen Sie auf Ihrem Arbeitscomputer Folgendes eingeben:
ssh -X -p 5555 homeuser@localhost firefox
Dadurch wird Firefox auf Ihrem Heimcomputer ( yourhost
) gestartet und auf dem Computer angezeigt, auf dem Sie diesen Befehl eingegeben haben, z. B. auf Ihrem Arbeitscomputer ( remotehost
).