Outils personnels

Reverse ssh : Accéder à un serveur derrière un NAT - Firewall : Différence entre versions

De wikiGite

(Page créée avec « Fichier:Reverse.png Le serveur A se trouvant derriere le par-feu créé un tunnel vers le serveur B. Depuis B on se connecte au serveur A au travers du tunnel ssh. == P... »)
 
Ligne 5 : Ligne 5 :
 
== Prérequis ==
 
== Prérequis ==
 
Ajouter cette ligne dans /etc/ssh/sshd_config :
 
Ajouter cette ligne dans /etc/ssh/sshd_config :
AllowTcpForwarding yes
+
<source lang="bash">AllowTcpForwarding yes</source>
  
 
Par sécurité créer un utilisateur dédié au tunnel sur B :
 
Par sécurité créer un utilisateur dédié au tunnel sur B :
adduser userssh
+
<source lang="bash">adduser userssh</source>
  
  
 
== Reverse ssh ==
 
== Reverse ssh ==
 
Créez le tunnel sur le serveur A :
 
Créez le tunnel sur le serveur A :
ssh -NR 22222:localhost:22 userssh@serveurB
+
<source lang="bash">ssh -NR 22222:localhost:22 userssh@serveurB</source>
  
 
Se connecter au tunnel depuis le serveur B
 
Se connecter au tunnel depuis le serveur B
ssh -p 22222 rootA@127.0.0.1
+
<source lang="bash">ssh -p 22222 rootA@127.0.0.1</source>
  
  
 
== Service au démarrage de A ==
 
== Service au démarrage de A ==
  
aptitude install autossh
+
<source lang="bash">aptitude install autossh</source>
  
 
Générer une paire de clef avec root  
 
Générer une paire de clef avec root  
ssh-keygen -t dsa
+
<source lang="bash">ssh-keygen -t dsa</source>
  
 
Faire un echange de clef avec le serveur B:
 
Faire un echange de clef avec le serveur B:
ssh-copy-id -i /root/.ssh/id_dsa.pub userssh@serveurB
+
<source lang="bash">ssh-copy-id -i /root/.ssh/id_dsa.pub userssh@serveurB</source>
  
 
ajouter dans /etc/rc.local :
 
ajouter dans /etc/rc.local :
autossh -i /root/.ssh/id_dsa -NR 22222:localhost:22 userssh@serveurB &
+
<source lang="bash">autossh -i /root/.ssh/id_dsa -NR 22222:localhost:22 userssh@serveurB &</source>
  
  
Ligne 37 : Ligne 37 :
  
 
Sur A :
 
Sur A :
ssh -NR 22280:localhost:80 userssh@serveurB
+
<source lang="bash">ssh -NR 22280:localhost:80 userssh@serveurB</source>
  
 
Sur B :
 
Sur B :
firefox "http://127.0.0.1:22280"
+
<source lang="bash">firefox "http://127.0.0.1:22280"</source>

Version du 24 avril 2012 à 23:33

Reverse.png


Le serveur A se trouvant derriere le par-feu créé un tunnel vers le serveur B. Depuis B on se connecte au serveur A au travers du tunnel ssh.

Prérequis

Ajouter cette ligne dans /etc/ssh/sshd_config :

AllowTcpForwarding yes

Par sécurité créer un utilisateur dédié au tunnel sur B :

adduser userssh


Reverse ssh

Créez le tunnel sur le serveur A :

ssh -NR 22222:localhost:22 userssh@serveurB

Se connecter au tunnel depuis le serveur B

ssh -p 22222 rootA@127.0.0.1


Service au démarrage de A

aptitude install autossh

Générer une paire de clef avec root

ssh-keygen -t dsa

Faire un echange de clef avec le serveur B:

ssh-copy-id -i /root/.ssh/id_dsa.pub userssh@serveurB

ajouter dans /etc/rc.local :

autossh -i /root/.ssh/id_dsa -NR 22222:localhost:22 userssh@serveurB &


Se connecter à d'autres port

On souhaite par exemple se connecter à un serveur web se trouvant sur A.

Sur A :

ssh -NR 22280:localhost:80 userssh@serveurB

Sur B :

firefox "http://127.0.0.1:22280"