Je compte sur le script suivant tunnel.sh
écrit par d'autres pour garder un tunnel ssh en vie:
#!/bin/bash
export SSH_HOST=tim@server
if [ ! -f /tmp/.tunnel ]
then
echo "Creat SSH tunnel"
ssh -f -D 9999 $SSH_HOST "if [ -f ~/.tunnel ]; then rm ~/.tunnel; fi; while [ ! -f ~/.tunnel ]; do echo > /dev/null; done" &
touch /tmp/.tunnel
else
echo "Close SSH tunnel"
ssh $SSH_HOST "touch ~/.tunnel"
rm /tmp/.tunnel
fi
exit
Pour créer un tunnel ssh persistant, je viens d'émettre tunnel.sh
. Le tunnel ne sera pas fermé jusqu'à ce que j'émette à tunnel.sh
nouveau.
Je me demandais comment je peux vérifier si le tunnel ssh est bien créé avec succès?
Mon utilisation principale du tunnel est d'imprimer des documents sur certaines imprimantes dans le même LAN que le serveur, et les imprimantes ne sont accessibles que depuis le LAN. Après avoir créé un tunnel, maintenant l'impression ne signale aucun problème, mais comme je n'y suis pas physiquement, je ne peux pas vérifier si les documents ont bien été imprimés.
Je pensais que depuis que je suis maintenant dans le LAN grâce au tunnel, mon IP externe devrait être la même que celle du serveur. Mais en réalité, ce ne sont pas les mêmes (je les ai découvert par wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
). Je me demande pourquoi? Lorsque je me connecte à un site Web sur Internet avec le tunnel vivant, le serveur n'est-il pas à mi-chemin entre moi et le site Web Internet dans la connexion, en raison du tunnel entre moi et le serveur?