Je cherche à acheminer un port pour VNC vers ma maison ici. Je dois sauter par-dessus un seul hôte pour ensuite sauter sur ma machine de travail réelle.
sittinghere
sera ma machine domestique localehopper
sera par le saut intermédiaire que je dois faireoverthere
sera la machine de travail à distance
Je peux le faire pour SSH dans ma machine de travail:
ssh -t hopper "ssh -t overthere"
Je voudrais utiliser la redirection de port pour transférer le port distant 5900 sur overthere
le port local 5900 sittinghere
. Cependant, je préférerais pouvoir le faire sans me lier ouvertement à un port, hopper
car n'importe qui sur cette machine pourrait se connecter à ma connexion VNC.
Existe-t-il un moyen pour moi de transmettre ce port à ma machine locale en toute sécurité sans que personne ne puisse y accéder hopper
?
ssh
port-forwarding
Naftuli Kay
la source
la source
Réponses:
Utilisation de la capacité native de SSH pour transférer des ports. De
sittinghere
exécuter:Pointez votre client VNC vers
localhost:5900
et le trafic sera acheminéoverthere:5900
via la connexion SSH établie surhopper
la source
hopper
, puishopper
transfère tout le trafic versoverthere:5900
. Sioverthere:5900
écoute0.0.0.0
ou l'interface donnée, alors cela fonctionnera, mais pas s'il écoute127.0.0.1
.J'ai fini par utiliser des
~/.ssh/config
hacks SSH pour y arriver:Ce que cela signifie, c'est que lorsque j'essaie de me connecter à
ssh overthere
partir desittinghere
, il se connecte àhopper
puis connecte par proxy la connexion SSH au port 22overthere
(c'est-à-dire: SSH activéoverthere
).Cela a des effets secondaires impressionnants:
Tout fonctionne à merveille et pour autant que je sache, le 5900 n'est pas ouvert
hopper
, mais uniquement transmis directement deoverthere
àsittinghere
.la source
apt-get install netcat-traditional -y
). Ensuite, vous devez spécifier explicitement lenc
type dans le fichier de configuration (en le remplaçantnc
parnc.traditional
).Vous pouvez transférer un port de
sittinghere
versoverthere
le port SSH dehopper
. Ensuite, vous pouvez utiliser ce port pour accéderoverthere
directement à partir desittinghere
. Dans cette deuxième session SSH, vous pouvez transférer VNC ou tout autre port que vous aimez tout enhopper
ne voyant qu'une session SSH cryptée.Première session SSH:
Maintenant , dire au client SSH comment il peut atteindre
overthere
en ajoutant cette config~/.ssh/config
sursittinghere
Deuxième session SSH:
Ou tout simplement une session SSH interactive régulière sans le tunnel de port VNC:
Si vous ne voulez pas déranger l'ajout de lignes,
~/.ssh/config
vous pouvez toujours lui dire comment se connecter àoverthere
partir de la ligne de commande:... mais sans le
HostKeyAlias
SSH ne vérifiera pasoverthere
correctement l'empreinte digitale de la clé.Toutes les lignes de commande doivent être exécutées à partir de
sittinghere
.Soit dit en passant, je pense que vous n'avez probablement pas besoin d'utiliser
ssh
l'-t
option de.la source
Connectez d'abord la trémie tout en créant un tunnel entre le travailleur et le PC domestique.
puis faites ssh ro là-bas avec tunnel vnc
Vous pouvez maintenant vous connecter avec vnc. Au fait, changez la configuration de vnc pour écouter localhost
la source
Si vous utilisez le client VNC à
vncviewer
partir de la ligne de commande, vous pouvez utiliser le-via
commutateur pour lui dire de passer par tunneluser@host
avant de se connecter au serveur VNC d'un autre hôte.Exemple
Vous pouvez également utiliser
vinagre
pour vous connecter via un tunnel SSH comme cela via l'interface graphique. Pour ce faire, configurez votre connexion de la même manière via la boîte de dialogue de connexion dansvinagre
:Ce qui entraînera votre connexion à venir, tunnelée via l'hôte de tunnel SSH.
Les références
la source
La commande suivante devrait également fonctionner parfaitement
Il a été testé avec un paramètre supplémentaire pour connecter le serveur PostgreSQL sur un
postgres-server
port personnalisé (-p
commutateur) et également avec l'utilisation d'un nom d'utilisateur personnalisé.Comme vous pouvez le voir, cette solution est simple et ne nécessite aucun changement de configuration de ssh ni aucune étape intermédiaire.
la source