Comment configurer un tunnel SSH sur Mac
Par Lucas Russo, développeur de SSHive · Mis à jour le
Les tunnels SSH locaux, distants et SOCKS5 sur macOS, en ligne de commande et dans l'éditeur de profil de SSHive, où ils reviennent à chaque connexion.
Un tunnel SSH fait passer un port réseau dans une connexion SSH chiffrée, et il en existe trois sortes. Le tunnel local (-L) amène sur votre Mac un port du réseau distant : une base de données, une page d'administration, tout ce que seul le serveur atteint. Le tunnel distant (-R) fait l'inverse et ouvre sur le serveur un port qui revient vers votre Mac. Le tunnel dynamique (-D) transforme la connexion en proxy SOCKS5 pour votre navigateur, avec son propre guide SOCKS5. Avec OpenSSH, fourni avec macOS, chacun tient en une ligne : ssh -L 5433:db.internal:5432 user@bastion ou ssh -R 8080:localhost:3000 user@server. Les étapes ci-dessous créent les mêmes tunnels dans SSHive, rattachés à un profil. La version gratuite comprend 1 tunnel local ; les tunnels distants et SOCKS5 demandent Pro, qui permet sur Mac jusqu'à 10 tunnels locaux, 5 distants et 1 port SOCKS par profil.
Pas à pas
Ouvrir un profil et déplier « Options avancées »
Barre latérale › + (nouvelle connexion), ou clic droit sur un profil existant › Modifier. Renseignez hôte, port, utilisateur et authentification comme d'habitude, puis cliquez sur Options avancées en bas de la fenêtre. Parmi les blocs qui se déplient figurent les trois sortes de tunnels : Tunnels locaux (-L), Tunnels distants (-R) et Proxy SOCKS5 (-D).Ajouter un tunnel local (-L), le cas le plus courant
Sous Tunnels locaux (-L), cliquez sur + Ajouter. Trois champs apparaissent sur une ligne : port local (5433par exemple ; à partir de 1024, pas besoin de sudo), hôte distant (db.internal, tel que le voit le serveur SSH ;localhostsi le service tourne sur le serveur lui-même) et port distant (5432). Enregistrez. Le tunnel s'ouvre à chaque connexion avec ce profil, lié à 127.0.0.1 seulement : il n'existe pas de champ d'adresse d'écoute, donc rien d'autre sur votre réseau ne peut s'en servir. La version gratuite permet 1 tunnel local ; Pro en permet 10 par profil.Ajouter un tunnel distant (-R), Pro
Sous Tunnels distants (-R), cliquez sur + Ajouter. Champs : port distant (celui qui s'ouvre sur le serveur SSH,8080), hôte local (localhost) et port local (3000). Sur le serveur,curl localhost:8080atteint maintenant le port 3000 de votre Mac. Dans la version gratuite, le bloc est grisé, et un clic sur son badge PRO ouvre la fenêtre de passage à Pro. Pro permet 5 tunnels distants par profil.Lire l'indicateur ⇄ de la barre d'état
Une fois connecté, la barre d'état affiche⇄ N, où N est le nombre de tunnels actifs (locaux, distants et SOCKS ensemble). Cliquez dessus pour ouvrir le panneau d'état des tunnels : chacun y figure avec son type, son port local, sa cible et son état en direct, plus un bouton pour le fermer. Si un tunnel ne peut pas ouvrir son port (déjà utilisé), la session SSH reste connectée et l'échec est journalisé ; N ne le compte simplement pas.Reconnexion automatique : les tunnels reviennent avec la session
Quand la session SSH tombe (changement de Wi-Fi, mise en veille, redémarrage du serveur), tous les tunnels se ferment avec elle, puisqu'ils vivent dans la connexion. La reconnexion automatique de SSHive rétablit alors la session et rouvre un à un les tunnels du profil, sans rien vous demander. Si un tunnel échoue à chaque reconnexion, vérifiez le sshd distant :AllowTcpForwarding yespour les tunnels locaux et distants, plusGatewayPorts yessi un tunnel distant doit être joignable depuis l'extérieur du serveur.
Questions fréquentes
Le tunnel s'arrête-t-il quand ma session SSH se termine ?+
ServerAliveInterval 60 dans OpenSSH, ou comptez sur le keepalive intégré de SSHive (toutes les 30 s par défaut).Puis-je faire passer un tunnel par une chaîne de bastions ?+
ssh -J bastion1,bastion2 -L 5432:db:5432 user@target passe par les deux bastions. Dans SSHive, ajoutez les deux bastions, dans l'ordre, à la Chaîne de sauts du profil cible, comme le montre le guide du bastion ; les tunnels définis sur ce profil empruntent alors toute la chaîne. Les chaînes de sauts sont une fonction Pro.Fonctionnalités SSHive associées
Tunnels SSH
Local, distant et proxy SOCKS5
Terminal SSH
Terminal accéléré par le GPU
Essayer SSHive gratuitement sur macOS
Obtenez le client tout-en-un SSH, SFTP, RDP et VNC pour Mac. Téléchargement gratuit, sans inscription.
Télécharger SSHive gratuitement