ใน/etc/ssh/sshd
สำหรับคอมพิวเตอร์ Bชุด:
AllowTcpForwarding yes
TCPKeepAlive yes
จากคอมพิวเตอร์ A :
$ ssh -R 2222:localhost:22 ip.of.computer.b
จากคอมพิวเตอร์ B :
$ ssh localhost -p 2222
โปรดทราบว่า 2222 เป็นหมายเลขพอร์ตสูงที่ฉันเลือก พอร์ตบนคอมพิวเตอร์ B นั้นจะถูกส่งสัญญาณกลับผ่านการเชื่อมต่อ SSH ที่เริ่มต้นบนคอมพิวเตอร์ A ถึงพอร์ต 22 หากคุณมีหลายเครื่องคุณควรใช้พอร์ตที่แตกต่างกันสำหรับแต่ละเครื่อง
สำหรับกรณีการใช้งานของคุณคุณอาจต้องการเรียกใช้จากสคริปต์เพื่อให้คุณสามารถทำให้มันเป็น daemon และพยายามเชื่อมต่ออีกครั้งหากลิงก์หลุด คุณอาจต้องการบัญชีพิเศษที่มีเปลือกเพียงแค่/bin/true
บนคอมพิวเตอร์ Bเพื่อจัดการการเชื่อมต่อที่เข้ามา จากนั้นคุณสามารถตั้งค่าคีย์เดียวหรือหลายคีย์สำหรับแต่ละเครื่องที่ได้รับอนุญาตให้ "โทรกลับบ้าน"
บนคอมพิวเตอร์ที่คุณอาจพบว่า-n
, -N
และ-T
ตัวเลือกที่มีประโยชน์ในการถอดออกจากการป้อนข้อมูลในท้องถิ่น (เพื่อที่จะสามารถทำงานในพื้นหลัง) ไม่พยายามที่จะเรียกใช้คำสั่งใด ๆ จากระยะไกลเพียงแค่เปิดอุโมงค์และไม่สร้าง TTY บริการ
วิธีปกติส่วนใหญ่ของการวางไข่ daemon นั้นทำงานได้ไม่ดีนักเมื่อตั้งค่าอุโมงค์เครือข่ายเช่นนี้ ปัญหาในการเชื่อมต่อเครือข่ายจะทำให้การพยายามฝ่ากำแพงให้ผ่านไปได้ การวนรอบอย่างง่ายพร้อมการนอนหลับเพื่อรอควรทำการหลอกลวง สิบนาทีเป็นตัวเลขที่ดีเพราะมันไม่ทำให้เครือข่ายและไฟล์บันทึกมีปัญหาหากมีปัญหา (เช่นComputer Bกำลังออฟไลน์) แต่ก็ยังทำให้คุณกลับมาใช้งานได้อย่างรวดเร็วหากการเชื่อมต่อขาดหาย
#/bin/sh
while true; do
sleep $((60*10))
ssh -nNT -R 2222:localhost:22 ip.of.computer.b
done
/etc/rc.local
สคริปต์เหมือนที่สามารถทำงานเปิดตัวในการบูต การเปลี่ยนแปลงครั้งแรกของคุณในการเข้าสู่เครื่องจะเริ่มประมาณสิบนาทีหลังจากบู๊ตคอมพิวเตอร์ A