# SSH Port forwarding par l’exemple

#### Publié par HugoPoi le 1 janvier 20211 janvier 2021

## Accéder à un port distant via SSH

`ssh -L $LOCAL_PORT:$TARGET_IP:$TARGET_PORT user@serverssh`

- `$LOCAL_PORT` est le port qui sera ouvert localement qui pointera vers le port cible `$TARGET_PORT`
- `$TARGET_IP` ip de la cible doit être joingnable depuis le serveur ssh

### Exemple

Accéder à un serveur MongoDB sur un serveur distant non exposé ou derrière un firewall
`ssh -L 27018:serveurmongo:27017 user@serverssh`
En local le serveur mongodb sera accessible via `mongo localhost:27018`

## Accéder à un réseau distant via SSH (socks proxy)

`ssh -D $SOCKS_LISTEN_PORT user@serverssh`
* ouvre un server socks4 en local qui requètera depuis le serveur ssh

### Exemple

1. `ssh user@serverssh -f -D 9051 -- sleep 10` (va attendre 10 secondes qu’une connexion arrive, `-f` met la commande en background)
2. `curl --proxy socks4://localhost:9051 https://ipinfo.io`
3. `chromium --proxy-server=socks4://localhost:9051`

Vous pouvez aussi installer `proxychains` et ajouter le port `9051` dans sa config `/etc/proxychains.conf` puis utiliser comme ceci `proxychains curl https://ipinfo.io`.

## Rendre disponible un port local sur le serveur SSH

`ssh -R $LISTEN_PORT:$TARGET_IP:$TARGET_PORT user@serverssh`
* `$LISTEN_PORT` port ouvert côté serveur pour l’écoute
* `$TARGET_IP` cible relative au client ssh
* `$TARGET_PORT` port cible a exposé

### Exemple

Rendre disponible sont serveur web local sur un serveur disposant d’une ip public.
`ssh -R 8080:localhost:80 user@serverssh`
* serverssh écoutera sur le port 8080 et acheminera le traffic vers le port 80 de votre machine

### Astuce pour exposer un port local sur un router dd-wrt

`ssh -f -R $PUBLIC_IP:6666:localhost:80 myddwrtrouter 'iptables -I INPUT -p tcp -i $(nvram get wan_iface) --dport 6666 -j ACCEPT && sleep 20'`

- J’ajoute `$PUBLIC_IP` pour que le port soit exposé directement sur l’interface public et pas avoir besoin de se faire chier avec la chain de `PREROUTING` et le NAT en v4

Catégories : News

### 2 commentaires

#### michel marcon (aka cmic) · 2 janvier 2021 à 10 h 04 min

Cool ton article.
Ce qui me rappelle cette excellente image qui explique (mieux ?). Trouvée sur stackexchange :
https://unix.stackexchange.com/questions/115897/whats-ssh-port-forwarding-and-whats-the-difference-between-ssh-local-and-remot

#### HugoPoi · 2 janvier 2021 à 11 h 35 min

Putain trop bien l’explication

### Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nom *
E-mail *
Site internet
Qu’avez vous à l’esprit ?

## Articles similaires

###### News

#### Je me barre de Facebook

Cela fait un long moment que je me dis que je vais supprimer mon compte Facebook, voilà mes raisons et pourquoi j’ai du mal a partir. Pourquoi Comme on m’a largement devancé sur pourquoi il Lire la suite…

###### Aventure PC

#### Pourquoi je suis sous Linux bordel !

Début d’année 2017, 6 mois que j’ai pas écrit sur le blog ! Cette année j’ai pris une résolution un choix de merde je n’installerais plus Windaube que se soit pour moi ou pour la Lire la suite…

###### #FAIL

#### Orange et consort, impossible d’obtenir le désimlockage

J’en ai marre à chaque fois c’est le même problème. Je galère pour obtenir le code de désimlockage de téléphones même ceux de première main.