ย้อนกลับ ssh tunnel ใน config


16

ฉันจะสร้างอุโมงค์ ssh แบบย้อนกลับด้วยไฟล์. / ssh/config ของฉันได้อย่างไร

ฉันพยายามที่จะทำซ้ำคำสั่งนี้

ssh -R 55555:localhost:22 user@host

ในไฟล์. ssh / config ของฉันเพื่อที่ว่าเมื่อฉันพิมพ์ssh hostฉันจะ ssh ไปยังโฮสต์ในฐานะผู้ใช้และมีอุโมงค์ย้อนกลับ คำสั่งที่ยอมรับโดยไฟล์กำหนดค่าเป็นคู่หู verbose เพิ่มเติมกับแฟล็กบรรทัดคำสั่ง ขึ้นอยู่กับ ssh manpage และ manpage สำหรับ ssh_config ดูเหมือนว่าการตั้งค่าที่เกี่ยวข้องคือ BindAddress

ในไฟล์. ssh / config ของฉันมี:

Host host
     Hostname host
     User user
     BindAddress 55555:localhost:22

รูปแบบที่แตกต่างกันเล็กน้อยนี้ส่งผลให้การเชื่อมต่อถูกปฏิเสธเมื่อฉันลอง

ssh localhost -p 55555

เมื่อเข้าสู่ระบบในโฮสต์ ทำงานเหมือนเดิมได้ดีถ้าฉันให้คำสั่งที่ด้านบนอย่างชัดเจนเมื่อแรกที่ shshing ไปยังโฮสต์ ไฟล์ปรับแต่งของฉันทำงานได้โดยไม่ต้องใช้คำสั่ง reverse tunnel; ssh hostบันทึกฉันเข้าสู่โฮสต์ในฐานะผู้ใช้

คำตอบ:


30

BindAddressไม่ใช่ตัวเลือกที่คุณต้องการ จากman ssh_config:

BindAddress
         Use the specified address on the local machine as the source
         address of the connection.  Only useful on systems with more than
         one address.

ไฟล์การกำหนดค่าที่เทียบเท่า-RคือRemoteForward:

RemoteForward
         Specifies that a TCP port on the remote machine be forwarded over
         the secure channel to the specified host and port from the local
         machine.  The first argument must be [bind_address:]port and the
         second argument must be host:hostport. [...]

ด้วยข้อมูลนี้บรรทัดคำสั่ง

ssh -R 55555:localhost:22 user@host

แปลเป็น.ssh/configไวยากรณ์ต่อไปนี้:

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