ฉันไม่แน่ใจว่าฉันตอบคำถามของคุณหรือไม่ แต่ฉันรู้สึกว่ามีสิ่งที่คุณตั้งใจจะทำดังนั้นฉันจะเพิ่มลิงก์ที่ขาดหายไปและเสี่ยงว่านี่ไม่ใช่คำถามของคุณ
สิ่งที่คุณตั้งใจจะทำคือเป็นไปได้ด้วย SSH และไม่ใช่เรื่องยากที่จะตั้งค่า แต่ให้ฉันเริ่มต้นด้วยข้อจำกัดความรับผิดชอบ: SSH tunneling นั้นผิดกฎหมายในสภาพแวดล้อมการทำงานจำนวนมากและอาจทำให้คุณถูกไล่ออก ข้อมูล / การสำรองข้อมูล
ในการเข้าถึงเซิร์ฟเวอร์ที่บ้าน ("บ้าน") ที่อยู่ด้านหลัง NAT ของ ISP ของคุณจากแล็ปท็อปในเครือข่ายสาธารณะให้พูดอินเทอร์เน็ตคาเฟ่ ("แล็ปท็อป") คุณจะทำสิ่งต่อไปนี้
ก่อนอื่นคุณต้องใช้เซิร์ฟเวอร์ SSH ซึ่งสามารถเข้าถึงได้ในอินเทอร์เน็ตสาธารณะ (SSShub)
เชื่อมต่อ "บ้าน" อย่างถาวรด้วย "SSHhub" และส่งต่อพอร์ตจาก "SSHhub" ไปยังเซิร์ฟเวอร์ "บ้าน" ของคุณจากระยะไกล ตรวจสอบ autossh เพื่อให้แน่ใจว่าการเชื่อมต่อยังคงอยู่ถ้าคุณไม่อยู่และตรวจสอบหน้า man sshd_config เพื่อรับการส่งต่อทางไกล ในเครื่องที่บ้านของคุณคุณเริ่มต้น
autossh -M 0 -Nf SOCKSUSER@SSHHUB -r 8022:localhost:22
สิ่งนี้จะส่งต่อพอร์ต 8022 บนเซิร์ฟเวอร์ SSHhub สาธารณะไปยังเซิร์ฟเวอร์ภายในบ้านของคุณพอร์ต SSH 22
ตอนนี้คุณกำลังนั่งอยู่ใน Internetcafe กับแล็ปท็อปและของท้องถิ่นไปข้างหน้าพอร์ตไม่ จำกัด บางอย่างเพื่อ SSHhub บนพอร์ต 8022 (โดยใช้ตัวอย่างข้างต้น) ดังนั้นในแล็ปท็อปของคุณคุณเริ่ม
autossh -M 0 -Nf SOCKSUSER@SSHHUB -l 8122:localhost:8022
เมื่อมีการกำหนดค่านี้คุณสามารถ SSH ลงในเครื่องที่บ้านจากแล็ปท็อปของคุณโดยเริ่มต้น
ssh SOCKSUSER@localhost -p 8122
เซสชัน ssh ส่งต่อจากโลคัลโฮสต์: 8122 บนแล็ปท็อปของคุณไปยังโลคัลโฮสต์: 8022 บน SSHhub และจากที่นั่นไปยังโลคัลโฮสต์: 22 บนโฮมเซิร์ฟเวอร์ของคุณ
คุณจะถูกถามถึงรหัสผ่านของบัญชี ทั้งหมดนี้จะทำให้คุณปวดหัวโดยมีทั้งกุญแจสาธารณะจากแล็ปท็อปและโฮมเซิร์ฟเวอร์ในไฟล์. ssh / authorized_keys ของ SSHhub PasswordAuthentication no
ในไฟล์ / etc / ssh / sshd_config ควรจะใช้ได้เนื่องจากคุณลงชื่อเข้าใช้จากภายใน localhost แต่ให้ตรวจสอบด้วยตัวคุณเอง คุณอาจต้องการตั้งค่าเป็นใช่ในขณะที่การดีบัก
ตรวจสอบ manpage ที่ตรวจสอบโดยอัตโนมัติเพื่อดู-M 0
ตัวเลือก สิ่งนี้จะ "ping" เซิร์ฟเวอร์ SSH ผ่านอุโมงค์ที่เข้ารหัสมิฉะนั้นคุณจะต้องกำหนดค่าพอร์ตการตรวจสอบด้วย-M
ตัวเลือก -M 0
ต้องการให้คุณตั้งค่าตัวแปร ServerAlive ในไฟล์. ssh / config อย่างนั้น
ServerAliveInterval 15
ServerAliveCountMax 2
TCPKeepAlive no
คุณสามารถมีพวกเขาแบบอินไลน์ฉันคิดว่า
ตอนนี้ฉันสามารถตอบคำถามเดิมให้คุณได้: มันเป็นไปได้หรือไม่ที่จะเข้าสู่เครื่องที่บ้านของคุณที่อยู่เบื้องหลัง NAT โดยไม่ต้องใช้รหัสสาธารณะ RSA บนเครื่องแล็ปท็อป / อินเทอร์เน็ตคาเฟ่ คำตอบคือ "ใช่" (เท่าที่ฉันจำได้) ในสถานการณ์ข้างต้นเมื่อคุณอนุญาตPasswordAuthentication yes
SSHhub เพื่อให้คุณสามารถเชื่อมต่อจากเครื่องใด ๆ (มีไคลเอ็นต์ SSH ให้บริการ) กับ SSHhub
ช้ามากและอาจเป็นคำตอบที่ผิด แต่ฉันใช้เวลาพอจะคิดออกและฉันก็เดาว่าคนอื่นก็สงสัยด้วยเช่นกัน