J'ai dessiné quelques croquis
La machine sur laquelle la commande ssh tunnel est saisie est appelée «votre hôte» .
introduction
local: -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
signifie: connectez-vous avec ssh à connectToHost
, et transférez toutes les tentatives de connexion au port local sur la machine appelée , accessible depuis la machine.sourcePort
onPort
forwardToHost
connectToHost
éloigné: -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
signifie: connectez-vous avec ssh à connectToHost
et transférez toutes les tentatives de connexion au port distant sourcePort
vers onPort
sur la machine appelée forwardToHost
, accessible depuis votre machine locale.
Votre exemple
Eh bien, si vous souhaitez uniquement faire fonctionner le transfert X, c'est-à-dire exécuter certaines applications X sur l'ordinateur à la maison et les afficher sur un système distant (appelons-le un ordinateur de travail, car il peut être sur votre lieu de travail), alors vous pouvez pas besoin du tout d'un tunnel ssh.
Démarrer des applications X sans tunnel
Pouvez-vous simplement passer de l'ordinateur de travail à votre ordinateur personnel? Si c'est le cas, lorsque vous êtes assis sur l'ordinateur de travail et que vous souhaitez démarrer une application X qui s'exécute sur votre ordinateur personnel mais s'affiche sur votre ordinateur de travail , vous devez taper (sur l'ordinateur de travail):
ssh -X homeuser @ homecomputer firefox
Cela démarrera Firefox sur votre ordinateur personnel et l'affichera sur la machine où vous avez tapé cette commande, par exemple votre ordinateur de travail.
L'ordinateur caché a besoin d'un tunnel
Ceci est l' image numéro 3 de mes croquis. Plusieurs fois, l'ordinateur domestique n'est pas accessible directement depuis Internet, car il est derrière un pare-feu ou caché via NAT (à partir d'un routeur). Ensuite, vous pouvez utiliser un tunnel.
Sur votre ordinateur personnel bleu ( yourhost
), vous tapez:
ssh -R 5555:localhost:22 remoteuser@remotehost
où 5555
est le port vert et 22
ist le port rose dans l'image.
Si vous êtes maintenant au travail, sur le remotehost
, et que vous vous connectez au port vert 5555
, votre connexion est tunnelée / transmise au port rose de votre ordinateur personnel localhost
(c'est-à-dire votre ordinateur domestique bleu lui-même). Vous devez maintenant taper sur votre ordinateur de travail:
ssh -X -p 5555 homeuser@localhost firefox
qui démarrera Firefox sur votre ordinateur personnel ( yourhost
) et l'affichera sur la machine sur laquelle vous avez tapé cette commande, par exemple votre ordinateur professionnel ( remotehost
).