ฉันจะขุดอุโมงค์และเรียกดูเว็บเพจเซิร์ฟเวอร์บนแล็ปท็อปของฉันได้อย่างไร


55

ฉันเรียกใช้เว็บแอปในหนึ่งในเซิร์ฟเวอร์ห้องปฏิบัติการของฉันและฉันได้ตั้งค่า X11 Forwarding บนเครื่องเหล่านั้นแล้ว สมาชิกแล็บอื่นสามารถเจาะผ่าน SSH และเรียกดูเว็บแอปนั้นในเบราว์เซอร์ท้องถิ่นที่บ้าน

ฉันทำไม่ได้ ครั้งสุดท้ายที่ฉันตรวจสอบกับพวกเขาไม่มีอะไรที่ฉันต้องทำ

เมื่อฉันพิมพ์192.168.1.113/webappฉันจะไม่ได้อะไรเลย

เคล็ดลับใด ๆ

ขอขอบคุณ


ฉันลงเอยด้วยวิธีที่สอง :)

ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N

@BlueXrider ทั่วไปใช่ในหัวข้อใช่ สำหรับบางสิ่งเช่นนี้เวอร์ชั่นของ Ubuntu นั้นไม่สำคัญเลยมันเกี่ยวกับในหัวข้อว่าฝนตกหนักคืออะไรและฉันจะใช้มันอย่างไรซึ่งถือว่าเป็นหัวข้อ :)
jrg

คำตอบ:


105

มีสองวิธีที่คุณสามารถทำได้ด้วย SSH

ทันเนลทุกอย่างด้วยพร็อกซี SOCKS

ล็อกอินเข้าสู่เครื่องรีโมตโดยใช้คำสั่งต่อไปนี้:

ssh -D 8080 remote-host

ตอนนี้ไปที่การตั้งค่าพร็อกซีของเบราว์เซอร์ของคุณและกำหนดค่าให้ใช้พร็อกซี SOCKS พร้อมชื่อโฮสต์127.0.0.1และพอร์ต8080(หรือพอร์ตใดก็ตามที่คุณผ่านไปยัง-Dตัวเลือก) ตอนนี้ทุกหน้าเว็บที่คุณโหลดในเว็บเบราว์เซอร์ของคุณจะถูกเชื่อมต่อผ่านการเชื่อมต่อ SSH ตอนนี้คุณควรจะสามารถเข้าถึงหน้าเว็บส่วนตัวในลักษณะเดียวกับที่คุณทำจากโฮสต์ระยะไกล

เมื่อเสร็จแล้วให้ตั้งค่าพร็อกซีเบราว์เซอร์ของคุณกลับมาเป็นปกติ

ด้านหนึ่งของวิธีนี้คือปริมาณการใช้งานอื่น ๆ ทั้งหมดในเว็บเบราว์เซอร์จะต้องผ่านการเชื่อมต่อ SSH ในทางกลับกันคุณสามารถเข้าถึงเซิร์ฟเวอร์ระยะไกลด้วยชื่อโฮสต์จริงของพวกเขาและสามารถเข้าถึงเว็บไซต์ส่วนตัวหลายแห่งได้อย่างง่ายดาย

อุโมงค์เป็นพอร์ตเดียว

วิธีทางเลือกคือการใช้ SSH เพื่อส่งต่อพอร์ตเดียว:

ssh -L 8080:server-hostname:80 remote-host

ตอนนี้ถ้าคุณชี้เว็บเบราว์เซอร์ของhttp://localhost:8080/คุณที่คุณควรเห็นเนื้อหาของhttp://server-hostname/มันจะปรากฏขึ้นจากโฮสต์ระยะไกล

ประโยชน์ของวิธีนี้คือทำให้เหลือเบราว์เซอร์ที่เหลืออยู่เพียงอย่างเดียว ข้อเสียคือบางลิงค์อาจไม่ทำงานหากไซต์ระยะไกลใช้การอ้างอิง URL แบบสัมบูรณ์ หากไซต์ส่วนใหญ่ใช้การอ้างอิง URL แบบสัมพันธ์วิธีนี้น่าจะเพียงพอ

8080สำหรับทั้งสองของการแก้ปัญหาเหล่านี้มีอะไรพิเศษเกี่ยวกับพอร์ต คุณสามารถใช้หมายเลขพอร์ตท้องถิ่นฟรีที่คุณต้องการตราบใดที่คุณจำได้ว่าใช้หมายเลขเดียวกันในการsshเรียกใช้และในเว็บเบราว์เซอร์


3
ขอบคุณ มันมีประโยชน์มาก! ฉันพยายามที่จะทำเช่นนี้: ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -Nบางสิ่งเช่นนี้ (วิธีที่สอง)
CppLearner

ถูกต้องหรือไม่ที่ฉันต้องกำหนดค่าพร็อกซีถุงเท้าเท่านั้นในวิธีแรก (ดู: spareclockMp3.files.wordpress.com/2009/04/… ) คือมันจะไม่ทำงานถ้าฉันชี้ http proxy ไปที่ 127.0.0.1:8080 หากถูกต้องบางทีคุณอาจจะชี้ให้เห็นในคำตอบที่ดีของคุณที่หนึ่งที่มีการตั้งค่าเฉพาะพร็อกซีถุงเท้า
นักเรียน

หากคุณใช้ Chrome (เบราว์เซอร์ที่สอง?) คุณสามารถส่งผ่านพารามิเตอร์พร็อกซีสำหรับ SOCKS5 ได้โดยตรงเมื่อเริ่มต้น: chromium-browser --proxy-server = "socks5: // localhost: 8080"
panticz.de
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.