मैं tunnel.sh
एक ssh सुरंग को जीवित रखने के लिए दूसरों द्वारा लिखी गई निम्न स्क्रिप्ट पर भरोसा करता हूं :
#!/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
लगातार ssh सुरंग बनाने के लिए, मैं अभी जारी करता हूं tunnel.sh
। जब तक मैं tunnel.sh
फिर से जारी नहीं करता तब तक सुरंग को बंद नहीं किया जाएगा ।
मैं सोच रहा था कि अगर ssh सुरंग वास्तव में सफलतापूर्वक बनाई गई है तो मैं कैसे सत्यापित कर सकता हूं?
सुरंग का मेरा मुख्य उपयोग सर्वर के समान LAN में कुछ प्रिंटर पर दस्तावेज़ प्रिंट करना है, और प्रिंटर केवल LAN के भीतर से ही एक्सेस किया जा सकता है। एक सुरंग बनाने के बाद, अब मुद्रण किसी भी समस्या की रिपोर्ट नहीं करता है, लेकिन चूंकि मैं शारीरिक रूप से वहां नहीं हूं, इसलिए मैं यह नहीं जांच सकता कि क्या दस्तावेज वास्तव में मुद्रित किए गए हैं।
मैंने सोचा कि चूंकि मैं अब सुरंग के लिए लैन धन्यवाद में हूं, मेरा बाहरी आईपी सर्वर के समान होना चाहिए। लेकिन वास्तव में वे समान नहीं हैं (मैंने उन्हें बाहर पाया wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
)। मुझे आश्चर्य है क्योंकि? जब मैं सुरंग के साथ इंटरनेट पर किसी वेबसाइट से जुड़ता हूं, तो क्या मेरे और सर्वर के बीच सुरंग के कारण सर्वर मेरे और कनेक्शन में इंटरनेट वेबसाइट के बीच का मध्य बिंदु नहीं है?