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 :
Ç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 Castor@Home$ ssh -i ~/.ssh/id_rsa -R 12345:localhost:22 Pollux@Middle -fN # (1) Enter passphrase for key '/home/Castor/.ssh/id_rsa':
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 :
Ça, ça marche aussi
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':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) ;ne fonctionne pas non plus.
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
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.
Partager