tunnel.sh
Bir ssh tüneli canlı tutmak için başkaları tarafından yazılmış şu betiğe güveniyorum :
#!/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
Kalıcı bir ssh tüneli oluşturmak için, sadece yayınladım tunnel.sh
. Tünel tunnel.sh
tekrar açana kadar kapanmayacak .
Ssh tünelinin gerçekten başarılı bir şekilde oluşturulduğunu nasıl doğrulayabileceğimi merak ediyordum.
Tüneldeki temel kullanımım, dokümanları sunucuyla aynı LAN'daki bazı yazıcılara yazdırmak ve yazıcılara yalnızca LAN içinden erişilebiliyor. Bir tünel oluşturduktan sonra, şimdi yazdırmak herhangi bir sorun bildirmiyor, ancak fiziksel olarak orada olmadığımdan, belgelerin gerçekten yazdırılıp yazdırılmadığını kontrol edemiyorum.
Tünel sayesinde şu anda LAN'dayken, harici IP adresimin sunucununkiyle aynı olması gerektiğini düşündüm. Ama aslında onlar aynı değil (onları buldum wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
). Nedenini merak ediyorum? İnternetteki bazı web sitelerine canlı tünel ile bağlandığımda, sunucu ben ve sunucunun arasındaki tünel yüzünden bağlantı ile internet sitesi arasındaki orta nokta değil mi?