เข้าถึงคอมพิวเตอร์ที่อยู่ด้านหลัง NAT หรือพรอกซี


1

ฉันมีพีซีในบ้านที่เชื่อมต่อผ่านโมเด็มดาวเทียม twoway ฉันไม่สามารถเข้าถึงจากภายนอกดังนั้นหลังจากการวิจัยบางอย่างฉันพบวิธีแก้ปัญหาซึ่งเป็นอุโมงค์ย้อนกลับ ssh แต่ฉันมีคำถามสองสามข้อเกี่ยวกับ ssh

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

ฉันต้องการเขียนสคริปต์ (งาน cron) ซึ่งสร้างการเชื่อมต่อ ssh ดังนั้นหลังจาก 30 นาทีมันจะตรวจสอบว่าการเชื่อมต่อขาดหรือไม่ถ้ามันเสียกว่ามันจะสถาปนาการเชื่อมต่ออีกครั้งฉันจะตรวจสอบได้อย่างไรว่า ssh การเชื่อมต่อยังคงเปิดอยู่?

คำตอบ:


2

SSH สามารถกำหนดค่าให้ยอมรับทั้งรหัสสาธารณะและรหัสผ่าน ฉันไม่ได้ปิดการใช้งานรหัสผ่านที่ยาวและลำบากที่ฉันตั้งค่าบนเซิร์ฟเวอร์ SSH ของฉันในกรณีที่ฉันทำคีย์ไฟล์หาย

หากคุณกำลังใช้ไคลเอ็นต์ ssh เพื่อสร้างการเชื่อมต่อมันจะออกเมื่อการเชื่อมต่อถูกยกเลิก คุณสามารถจัดเก็บ PID ของไคลเอ็นต์ ssh เมื่อคุณเรียกใช้และตรวจสอบว่า PID เดียวกันนั้นกำลังทำงานอยู่หรือโทรsshจากสคริปต์โดยไม่ออกจากสคริปต์และใช้while(สมมติว่าbash) เพื่อตั้งค่าการวนซ้ำไม่สิ้นสุดเพื่อโทรsshและ ในแต่ละครั้งที่มันสิ้นสุดลง initได้รับการออกแบบอย่างชัดเจนสำหรับสิ่งนี้ดังนั้นคุณอาจมองเข้าไปในนั้นเช่นกัน


2

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

สิ่งที่คุณตั้งใจจะทำคือเป็นไปได้ด้วย 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 yesSSHhub เพื่อให้คุณสามารถเชื่อมต่อจากเครื่องใด ๆ (มีไคลเอ็นต์ SSH ให้บริการ) กับ SSHhub

ช้ามากและอาจเป็นคำตอบที่ผิด แต่ฉันใช้เวลาพอจะคิดออกและฉันก็เดาว่าคนอื่นก็สงสัยด้วยเช่นกัน


-1

ไม่ตอบคำถามที่ถูกต้องของคุณคุณจะแก้ปัญหาด้วยผลิตภัณฑ์เช่น neorouter ... ง่ายต่อการติดตั้งและจัดการกับการตั้งค่าไฟร์วอลล์ใด ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.