คำตอบนี้ขึ้นอยู่กับคำตอบที่ได้รับการยอมรับ แต่การเพิ่มรายละเอียดที่ทำให้ฉันสามารถทำได้ ฉันขอโทษสำหรับคำอธิบายของคนเดินเท้าเนื่องจากนี่ไม่ใช่ความเชี่ยวชาญของฉัน
สมมติว่าคุณมีคอมพิวเตอร์สองเครื่องและA Bคุณต้องการsshจากAถึงBและคุณไม่สามารถทำการส่งต่อพอร์ตใด ๆ ในเราเตอร์ที่เชื่อมต่อกับพวกเขา
ในฐานะที่เป็นรัฐตอบรับที่ยอมรับคุณต้องมีเซิร์ฟเวอร์Sในการทำสิ่งนี้: ในคอมพิวเตอร์Bคุณจะอนุญาตให้มีsshการเชื่อมต่อที่มาจากS; และจากคอมพิวเตอร์ของAคุณจะเข้าถึงอุโมงค์ว่าในการเข้าถึงSB
แต่คุณจะรับเซิร์ฟเวอร์นั้นได้Sอย่างไร ฉันพบserveo(ลิงก์: https://serveo.net/ ) มันใช้ง่ายมาก คุณไม่ต้องติดตั้งอะไรหรือลงทะเบียนและมันฟรี ตามเว็บไซต์ขั้นตอนในการติดตามคือ:
Bคิดว่านามแฝงสำหรับคอมพิวเตอร์ ตัวอย่างเช่นcomputer_B_alias.
 
ในเครื่องคอมพิวเตอร์ของรันBssh -R computer_B_alias:22:localhost:22 serveo.net
 
ตอนนี้คุณสามารถเข้าถึงคอมพิวเตอร์Bจากคอมพิวเตอร์Aโดยการดำเนินการต่อไปในเครื่องคอมพิวเตอร์A: ssh -J serveo.net user@computer_B_aliasที่คุณต้องทดแทนโดยใช้ชื่อของผู้ใช้ในคอมพิวเตอร์userB
 
PS: แน่นอนคุณทำให้จุดที่ 2 Bเป็นงานอัตโนมัติเมื่อเริ่มต้นคอมพิวเตอร์ของคุณ
PSS: ก่อนที่จะลองสิ่งนี้ตรวจสอบให้แน่ใจว่าsshได้ติดตั้งในคอมพิวเตอร์ทั้งสอง สำหรับ Ubuntu sudo apt-get install sshจะทำงาน