Le contexte
J'utilise Ubuntu Desktop comme ma machine principale, que j'appellerai D. Je veux me connecter au serveur S via ssh, mais le pare-feu me bloque.
J'ai accès au serveur S, via un chemin très encombrant, impliquant une machine virtuelle Windows et PuTTY . Cela rend le travail avec ce serveur extrêmement ennuyeux: environnement complètement différent, le copier / coller ne fonctionne pas, je ne peux pas utiliser correctement mon bureau tout en y étant connecté (Alt-Tab est cassé par la machine virtuelle), etc.
J'ai vérifié que je peux ssh du serveur S à ma machine de bureau D (l'opposé de ce dont j'ai besoin).
Puis-je en quelque sorte initier une "redirection de port" ou similaire à partir du serveur, afin que je puisse ssh vers le serveur depuis mon bureau?
la source
D->S
en abusantS->D
Réponses:
Vous pouvez utiliser la commande suivante pour configurer un tunnel SSH du serveur distant vers votre ordinateur local:
Lorsque le tunnel est configuré, vous pouvez simplement ssh vers votre serveur distant en utilisant la commande suivante:
Veuillez noter que vous devez configurer des clés ssh pour la connexion automatique (pas d'invite de mot de passe). Si vous souhaitez créer le tunnel SSH de manière interactive, vous pouvez supprimer les options
-f -N
. Pour plus d' informations,man ssh
.la source
Si vous utilisez une version plus récente d'OpenSSH (7.3+), vous pouvez utiliser
ProxyJump
ce qui fait tout cuire par magie:Lequel
~/.ssh/config
ressemble à:ProxyJump
prend en charge la syntaxe SSH complète, donc si vous êtesjim
activéwindows_server
et qu'il utilise le port2222
pour ssh.remote_server
est à IP à192.168.0.110
partir duwindows_server
alors vous pouvez écrire:Et toujours courir
ssh remote_server
pour y arriver.Si vous exécutez une ancienne version de SSH, utilisez ProxyCommand - cela vous permet de dire à SSH d'exécuter d'abord une commande pour établir une connexion proxy, avant d'exécuter la commande SSH réelle.
Cela utilise l' option SSH -W , qui est un raccourci pour la syntaxe Netcat plus obscure .
Notez que, comme lorsque vous exécutez,
ssh remote_server
vous êtes maintenant sur le,windows_machine
vous devez vous assurer que vous utilisez l'IP de laremove_server
boîte de saut plutôt que l'IP de votre machine - ceux-ci peuvent bien être les mêmes.Vous pouvez ensuite ajouter cette directive à votre
~/.ssh/config
fichier:Cela signifie que si
remote_server
est une machine différente comme vu depuis,windows_machine
vous pouvez le mettre dans la configuration et toujours l'utiliserssh remote_server
.la source
Plutôt que d'essayer de contourner les choses et de créer un chemin alambiqué, ne pouvez-vous pas simplement demander que SSH de votre bureau vers le serveur soit autorisé? Si vous en avez besoin et que vous devez accéder au serveur, je ne vois pas pourquoi vous refuseriez la demande.
la source