Bonjour à tous,
mon objectif général est de pouvoir rendre accessible via ssh ma machine (Home) qui se trouve derrière un NAT que je ne contrôle pas. Pour cela, je passe par le biais d'une debian (Middle) qui elle est « publique ».



Ma première étape a été de réussir à créer un tunnel inverse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Castor@Home$ ssh -i ~/.ssh/id_rsa -R 12345:localhost:22 Pollux@Middle -fN # (1)
Enter passphrase for key '/home/Castor/.ssh/id_rsa':
Ça, ça marche ! Home est maintenant accessible depuis le monde entier (sauf quelques dictatures… hum…) via
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
anybody@anywhere$ ssh -p 12345 Castor@Middle
Castor@Middle's password:


La seconde étape fût de permettre la création de ce tunnel sans avoir à taper de mot de passe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ssh-add ~/.ssh/id_rsa
Enter passphrase for key '/home/Castor/.ssh/id_rsa':
Ça, ça marche aussi je peux maintenant exécuter la commande (1) et ne pas avoir à entrer le mot de passe pour ma clé.



La troisième et dernière étape maintenant, et c'est ici que j'ai besoin de vous, c'est de permettre la création de ce tunnel au démarrage de ma machine. J'ai tout d'abord pensé à ajouter (1) à mon ~/.bashrc, mais cela voudrait dire que le tunnel n'est actif que lorsque je suis logué sur ma machine… Il faut donc que je sois logué pour pouvoir me loguer. Je vous laisse démêler ça. Ma seconde idée a été d'ajouter (1) à /etc/rc.local, mais cette fois-ci, l'étape 2 n'est plus d'aucune utilité car ssh-agent ne déverrouille automatiquement id_rsa que pour mon utilisateur Castor (@Home) ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
root@Home$ su -c "ssh -i /home/Castor/.ssh/id_rsa -R 12345:localhost:22 Pollux@Middle -fN" Castor
ne fonctionne pas non plus.



Je suis tout ouïe ! Avez-vous des conseils ? des remarques ? des solutions ? Je suis aussi ouvert à d'autres méthodes.

Bien Cordialement,
Castor & Pollux.