สิ่งที่เป็นไปได้ขึ้นอยู่กับสิ่งที่ไฟร์วอลล์อนุญาต
หากไฟร์วอลล์อนุญาตการรับส่งข้อมูลโดยพลการบนพอร์ต 443
ไฟร์วอลล์บางตัวใช้วิธีง่าย ๆ และอนุญาตให้ทุกอย่างที่พอร์ต 443 หากเป็นกรณีนี้วิธีที่ง่ายที่สุดในการเข้าถึงเซิร์ฟเวอร์ภายในบ้านของคุณคือการฟังการเชื่อมต่อ SSH ที่พอร์ต 443 หากเครื่องของคุณเชื่อมต่อกับอินเทอร์เน็ตโดยตรงเพียงแค่ เพิ่มPort 443
ไป/etc/ssh/sshd_config
หรือเพียงแค่ต่ำกว่าเส้นที่ระบุว่า/etc/sshd_config
Port 22
หากเครื่องของคุณอยู่หลังเราเตอร์ / ไฟร์วอลล์ที่เปลี่ยนเส้นทางการเชื่อมต่อขาเข้าให้ทำการเปลี่ยนเส้นทางการเชื่อมต่อขาเข้าไปยังพอร์ต 443 ไปยังพอร์ต 22 ของเซิร์ฟเวอร์ด้วยสิ่งที่ชอบ
iptables -t nat -I PREROUTING -p tcp -i wan0 --dport 443 -j DNAT --to-destination 10.1.2.3:22
โดยที่wan0
WAN อินเตอร์เฟสบนเราเตอร์ของคุณและ 10.1.2.3 เป็นที่อยู่ IP ของเซิร์ฟเวอร์ของคุณในเครือข่ายภายในบ้านของคุณ
หากคุณต้องการอนุญาตให้เซิร์ฟเวอร์ภายในบ้านของคุณรับฟังการเชื่อมต่อ HTTPS และการเชื่อมต่อ SSH ที่พอร์ต 443 เป็นไปได้ - ทราฟฟิก SSH และ HTTPS สามารถแยกความแตกต่างได้ง่าย (ใน SSH เซิร์ฟเวอร์จะพูดคุยเป็นอันดับแรกในขณะที่ HTTP และ HTTPS ครั้งแรก) ดูhttp://blog.stalkr.net/2012/02/sshhttps-multiplexing-with-sshttp.htmlและhttp://wrouesnel.github.io/articles/Setting%20up%20sshttp/สำหรับบทเรียนเกี่ยวกับวิธีตั้งค่า ขึ้นกับsshttpและยังมี SSH บนพอร์ต 80 หรือ 443 ในขณะที่เว็บเซิร์ฟเวอร์ (nginx) กำลังทำงานบนพอร์ตเหล่านี้
หากคุณมีเว็บพรอกซีที่อนุญาตให้ทำการเชื่อมต่ออุโมงค์
ไฟร์วอลล์บางตัวบล็อกการเชื่อมต่อขาออกทั้งหมด แต่อนุญาตให้เรียกดูเว็บผ่านพร็อกซีที่อนุญาตให้วิธีHTTPCONNECT
เจาะรูในไฟร์วอลล์ได้อย่างมีประสิทธิภาพ CONNECT
วิธีการอาจถูก จำกัด ไปยังท่าเรือบางอย่างดังนั้นคุณอาจจะต้องรวมนี้กับฟังพอร์ต 443 ดังกล่าวข้างต้น
เพื่อให้ SSH ไปผ่านพร็อกซี่, คุณสามารถใช้เครื่องมือเช่นเกลียว ในของคุณ~/.ssh/config
เพิ่มProxyCommand
บรรทัดเหมือนด้านล่างหากเว็บพร็อกซีของคุณคือhttp://web-proxy.work.example.com:3128
:
Host home
HostName mmm.dyndns.example.net
ProxyCommand corkscrew web-proxy.work.example.com 3128 %h %p
การห่อ SSH ใน HTTP (S)
ไฟร์วอลล์บางตัวไม่อนุญาตการรับส่งข้อมูล SSH แม้กระทั่งบนพอร์ต 443 เพื่อรับมือกับสิ่งเหล่านี้คุณต้องปลอมแปลงหรือสร้างช่องสัญญาณ SSH เป็นสิ่งที่ไฟร์วอลล์อนุญาตให้ทำได้ ดูhttp://dag.wiee.rs/howto/ssh-http-tunneling/สำหรับการกวดวิชาในการทำเช่นนี้กับproxytunnel