ฉันพึ่งพาสคริปต์ต่อไปนี้ที่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 เท่านั้น หลังจากสร้างอุโมงค์ตอนนี้การพิมพ์ไม่ได้รายงานปัญหาใด ๆ แต่เนื่องจากฉันไม่ได้อยู่ที่นั่นฉันไม่สามารถตรวจสอบว่าเอกสารได้รับการพิมพ์จริงหรือไม่
ฉันคิดว่าเนื่องจากตอนนี้ฉันอยู่ใน LAN ต้องขอบคุณช่องสัญญาณ IP ภายนอกของฉันควรเหมือนกับของเซิร์ฟเวอร์ แต่ที่จริงแล้วพวกเขาไม่เหมือนกัน (ฉันพบพวกเขาโดยwget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
) ฉันสงสัยว่าทำไม? เมื่อฉันเชื่อมต่อกับเว็บไซต์บางแห่งบนอินเทอร์เน็ตที่มีอุโมงค์อยู่เซิร์ฟเวอร์ไม่ได้เป็นจุดกึ่งกลางระหว่างฉันและเว็บไซต์อินเทอร์เน็ตในการเชื่อมต่อเนื่องจากอุโมงค์ระหว่างฉันและเซิร์ฟเวอร์