81c667c55fe6a89a8fb6e2482a72a1e96542bc3e
Guides/Les-tunnels-SSH.md
... | ... | @@ -41,12 +41,38 @@ _Image 2_ |
41 | 41 | ###Établisment d'un tunnel |
42 | 42 | Imaginons que l'utilisateur jack veut établir un tunnel entre le port 80 de son serveur web *WEB01P* et le port 2048 son serveur de rebond ssh *SSH01P*. |
43 | 43 | ```bash |
44 | -adm_jack@SSH01P:~$ ssh -Nfq -L2048:SSH01P:80 adm_jack@WEB01P |
|
44 | +adm_jack@SSH01P:~$ ssh -Nfq -L2048:SSH01P:80 adm_jack@WEB01P sleep 600 #l'option sleep permet au tunnel de se fermet au bout de 10 min (600s) d'inactivité |
|
45 | 45 | ``` |
46 | 46 | Puis entre le port 2048 de *WEB01P* et le port 8080 de son pc *PC_JACK* |
47 | 47 | ```bash |
48 | -adm_jack@PC_JACK:~$ ssh -Nfq -L8080:localhost:2048 adm_jack@SSH01P |
|
48 | +adm_jack@PC_JACK:~$ ssh -Nfq -L8080:localhost:2048 adm_jack@SSH01P sleep 600 |
|
49 | 49 | ``` |
50 | 50 | |
51 | 51 | *L'ordre de création des tunnels n'est pas important.* |
52 | 52 | |
53 | +###Fermeture d'un tunnel |
|
54 | +Ce n'est parce que nous avons fait en sorte que le tunnel se ferme après 10 min d'inactivité que cela nous empèche de le fermer manuellement. |
|
55 | +Cela se fait en trois étapes : afficher les tunnels ouvert, relever son PID, puis kill le processus ssh du tunnel : |
|
56 | +```bash |
|
57 | +adm_jack@PC_JACK:~$ lsof -i #Afficher les tunnels ouvert |
|
58 | +adm_jack@PC_JACK:~$ kill -9 15XX #PID du tunnel |
|
59 | +``` |
|
60 | + |
|
61 | +###Un peut d'automatisation |
|
62 | +Ajoutez le code ci-dessous à la fin de votre fichier `.bashrc`. |
|
63 | +```bash |
|
64 | +tunnel() |
|
65 | +{ |
|
66 | + echo -e "\n###Tunnel sur le port $1 vers $2###\n"; |
|
67 | + ssh -Nfq -L$1:localhost:$2 $USER@$3 sleep 600 #Ajouter l'option "-i MyVeryPrivateKey.key" pour vous connecter avec votre clé privée |
|
68 | +} |
|
69 | +``` |
|
70 | +Pour que Jack crée un tunnel du port 2048 de la machine SSH01P vers le port 8080 de son PC, il doit entrer la commande suivante : |
|
71 | +```bash |
|
72 | +adm_jack@PC_JACK:~$ tunnel 8080 2048 SSH01P |
|
73 | +``` |
|
74 | + |
|
75 | +## Références |
|
76 | +N'hésitez pas à consulter la page sur la [connexion SSH](https://wiki.resel.fr/edit/Guides/Connexion-SSH) |
|
77 | +* [Mise en place d'un tunnel TCP/IP via SSH](https://openclassrooms.com/fr/courses/530030-mise-en-place-dun-tunnel-tcp-ip-via-ssh) |
|
78 | +* `man ssh` |
|
... | ... | \ No newline at end of file |