SSH Tunnel

Server โดยปกติมักจะมีบริการมาตรฐานอยู่สองสามอย่างที่หลุดพ้น Firewall ออกมา เช่น 80, 443, 22 เมื่อต้องการเข้าไปใช้บริการอื่นที่เปิด port พิเศษก็ต้องใช้วิธีพิเศษกันหน่อย โดยการขุดอุโมงผ่าน port มาตรฐานเข้าไป เครื่องมือที่ต้องใช้ก็มีอยู่แค่อย่างเดียว ssh

  • ให้ sshd ยอมให้ต่ออุโมงโดยกำหนดในไฟล์ sshd_config ถ้าเป็น FreeBSD, Linux หาได้ที่ /etc/ssh/sshd_config แต่ OSX ดันวางไว้ต่างจากที่อื่นหน่อย /etc/sshd_config เลย
PermitTunnel yes
  • จากนั้นก็ขุดอุโมงด้วยคำสั่ง
#ssh [user]@[target_host] -p [port] -g -L [local_port]:[target_host]:[target_port]

Option ต่างๆ ที่ใช้ด้านบนคือ * -p [port] สำหรับบอกว่าจะต่อไปที่เครื่องเป้าหมายที่ port ไหน ไม่จำเป็นต้องใส่ default คือ 22 * -g สำหรับให้เครื่องอื่นต่อผ่านเข้าไปได้ด้วย ถ้าไม่ใส่ ssh จะ bind เข้า ip 127.0.0.1 ทำให้เข้าจากเครื่องอื่นไม่ได้ * -L [local_port]:[target_host]:[target_port] สำหรับ bind target_port จากเครื่องเป้าหมาย target_host มาที่เครื่องตัวเองที่ local_port

ตัวอย่าง

ssh user@localhost -g -L 10000:localhost:80

จากนั้นเมื่อเข้าเว็บผ่าน http://localhost:10000 ก็เหมือนเข้าเว็บ http://localhost

Tags: ,

Post Author

This post was written by llun who has written 511 posts on แนท (/næt/).

I'm programmer at Throughwave

No comments yet.

Leave a Reply