Utiliser un proxy SOCKS avec ssh, apt et curl

phil
Administrateur
Messages : 41
Inscription : 18 sept. 2011, 19:41
Contact :

Utiliser un proxy SOCKS avec ssh, apt et curl

Message par phil »

Environnement de base :
  • Machines A et B sur un même réseau, pouvant communiquer entre elles et avec ssh activé.
  • Machine B avec un accès Internet via un second réseau (partage de connexion par exemple)
  • Machine A sans connexion Internet
  • Nécessité d'utiliser ssh, apt, ou curl (depuis un script non maitrisé, comme rpi-update par exemple) pour faire des mises à jour sur machine A
Mise en place du proxy SOCKS (processus à laisser tourner, par exemple dans un autre terminal ou en arrière plan) :

Code : Tout sélectionner

machineA$ ssh -D 18080 user@machineB
Pour utiliser le proxy avec ssh, ajouter l'option ProxyCommand dans la commande ssh :

Code : Tout sélectionner

ssh -o "ProxyCommand=netcat -X 5 -x localhost:18080 %h %p" user@host
Pour utiliser le proxy avec apt, créer un fichier dans /etc/apt/apt.conf.d/, appelé par exemple 12socks_proxy et avec le contenu suivant :

Code : Tout sélectionner

Acquire::http::proxy "socks5h://localhost:18080";
Acquire::https::proxy "socks5h://localhost:18080";
Pour utiliser le proxy avec curl, 2 solutions : directement via une option de la ligne de commande ou de manière plus globale avec une variable d'environnement :

Code : Tout sélectionner

curl -x socks5h://localhost:18080 www.example.com
# ou
export ALL-PROXY=socks5h://localhost:18080
curl -v www.example.com
Répondre