Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| system_administration:networking:ssh_remote_port_forwarding_for_4g [2022/03/23 21:45] – [Références utiles] aziz | system_administration:networking:ssh_remote_port_forwarding_for_4g [2023/08/17 13:14] (current) – [Créer la redirection depuis le client] aziz | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{tag> network ssh}} | ||
| + | |||
| + | |||
| ====== Accéder à un serveur derrière un router 4G en Algérie ====== | ====== Accéder à un serveur derrière un router 4G en Algérie ====== | ||
| - | [[https:// | + | [[https:// |
| - | En Algérie, | + | En Algérie, |
| - | n'est pas accessible depuis l' | + | |
| - | C'est le cas notamment avec l' | + | C'est le cas notamment avec l' |
| - | en redirigeant les ports nécessaires pour une connexion | + | |
| - | le serveur demeure inaccessible. | + | |
| - | Il est donc probable que les adresses IP rapportées | + | Il est donc probable que les adresses IP rapportées |
| - | modems ou en utilisant la ligne de commande soient non-adressables. | + | |
| - | Une démarche | + | Une démarche |
| - | permet de protéger les devices téléphoniques, | + | |
| - | ce type de réseau. | + | |
| Comment accéder à un serveur dans ces conditions. | Comment accéder à un serveur dans ces conditions. | ||
| Line 21: | Line 18: | ||
| ===== Redirection de ports à travers un serveur distant avec SSH ===== | ===== Redirection de ports à travers un serveur distant avec SSH ===== | ||
| - | Cette technique utilise la fonctionnalité de tunneling apportée en | + | Cette technique utilise la fonctionnalité de tunneling apportée en natif sur OpenSSH. |
| - | natif sur OpenSSH. | + | |
| + | ==== Paramétrage du serveur distant ==== | ||
| - | Nous initions | + | Par défaut le serveur distant n' |
| - | vers un serveur accessible et proprement adressable (Serveur | + | |
| - | Serveur | + | Nous devons donc paramétrer le serveur ssh pour que le port forwardé soit accessible sur l' |
| - | Serveur | + | |
| + | <code ini> | ||
| + | GatewayPorts clientspecified | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Créer la redirection depuis le client ==== | ||
| + | |||
| + | Nous initions | ||
| <code bash> | <code bash> | ||
| - | ssh -N -f -R 11122: | + | ssh -N -f -g -R *:11122: |
| </ | </ | ||
| + | Avec cette commande nous donnons accès au port 22 du **Serveur | ||
| - | Avec cette commande nous ouvrons | + | L'utilisateur **limiteduser** est restreint et a **/ |
| - | travers le port 11122 du Serveur B. | + | |
| - | Donc, avec la commande suivante, nous accéderons | + | Donc, avec la commande suivante, nous nous connectons |
| <code bash> | <code bash> | ||
| - | ssh -p 11122 userb@64.212.113.165 | + | ssh -p 11122 userServeurHidden@ip.serveur.visible |
| </ | </ | ||
| - | Pour maintenir | + | Pour maintenir |
| - | cron job qui testera le fonctionnement et qui relancera le tunnel | + | [[https:// |
| - | si celui-ci venait à être coupé. (([[https:// | + | )) |
| - | mais les résultats n' | + | |
| <code bash keep_tunnel_alive.sh> | <code bash keep_tunnel_alive.sh> | ||
| Line 63: | Line 67: | ||
| # ... aident à optimiser les conditions de connexion | # ... aident à optimiser les conditions de connexion | ||
| # voir man ssh | # voir man ssh | ||
| - | timeout 60 ssh -N -f -o ControlMaster=auto \ | + | timeout 60 ssh -N -f -g -o ControlMaster=auto \ |
| -o ControlPath=/ | -o ControlPath=/ | ||
| -o ControlPersist=120m \ | -o ControlPersist=120m \ | ||
| Line 70: | Line 74: | ||
| -o ServerAliveInterval=60 \ | -o ServerAliveInterval=60 \ | ||
| -o ServerAliveCountMax=3 \ | -o ServerAliveCountMax=3 \ | ||
| - | -R 11122: | + | -R *:11122: |
| limiteduser@64.212.113.165 | limiteduser@64.212.113.165 | ||
| fi | fi | ||
| </ | </ | ||
| - | Dans ce script à lancer par cron on peut intier | + | Dans ce script à lancer par cron on peut initier |
| - | pour donner | + | |
| - | exemple. | + | |
| ==== Références utiles ==== | ==== Références utiles ==== | ||
| + | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| * [[http:// | * [[http:// | ||
| * [[http:// | * [[http:// | ||
| * [[https:// | * [[https:// | ||
| - | * https:// | + | * [[https:// |