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/18 15:01] – ↷ Page moved from system_administration:ssh_remote_port_forwarding_for_4g to system_administration:networking:ssh_remote_port_forwarding_for_4g 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:// |
- | * http:// | + | * [[https:// |
- | * http:// | + | * [[https:// |
- | * https:// | + | * [[http:// |
- | * | + | * [[http:// |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ |