====== Reverse SSH ====== Dans mon cas, j'utilise un serveur VPS sur lequel les personnes que je souhaite aider vont ouvrir un tunnel. La première chose à faire est de créer un ou deux utilisateurs sur le serveur. me@server$ sudo adduser --no-create-home userToHelp Il faut aussi vérifier que la configuration de [[ssh]] permettent cette opération : me@server$ cat /etc/ssh/sshd_config | grep AllowTcpForwarding AllowTcpForwarding yes Si la commande ne renvoi aucun résultat, il faut ajouter la ligne ''AllowTcpForwarding yes'' dans le fichier ''/etc/ssh/sshd_config''. Une fois que c'est fait, il faut redémarrer le service [[ssh]]. me@server$ sudo service ssh restart Une fois tous les prérequis complétés, l'utilisateur que vous souhaitez aider peut ouvrir un tunnel. userToHelp@ordi$ ssh -NR 22222:localhost:22 userToHelp@IP.DU.SERVEUR -p PORT-SSH-SUR-LE-SERVEUR Ou, si on veut ouvrir un shell : userToHelp@ordi$ ssh -R 22222:localhost:22 userToHelp@IP.DU.SERVEUR -p PORT-SSH-SUR-LE-SERVEUR On peut vérifier dans les logs du serveur que l'authentification s'est bien déroulée si on a choisi l'option "-N" qui n'ouvre pas de shell. me@server$ sudo tail -F /var/log/auth.log Aug 21 20:59:13 C-3PO sshd[28392]: pam_unix(sshd:session): session opened for user userToHelp by (uid=0) Une fois le tunnel ouvert, on peut, depuis le serveur, se connecter chez l'utilisateur qu'on veut aider. me@server$ ssh -p 22222 userToHelp@localhost ===== Sources ===== * [[https://doc.ubuntu-fr.org/tutoriel/reverse_ssh|reverse ssh (ubuntu-fr.org)]] * [[http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/|reverse ssh - accéder à un serveur derrière un nat/firewall (geekfault.org)]] * [[http://www.linux-france.org/prj/edu/archinet/systeme/ch13s04.html|Comprendre la redirection de port (Port forwarding) (linux-france.org)]]