การส่งต่อพอร์ตย้อนกลับ SSH ด้วย PuTTy - วิธีระบุที่อยู่ผูก


16

ใช้ Putty ฉันได้ตั้งค่า reverse proxy ซึ่งอนุญาตให้ฉันเชื่อมต่อกับพอร์ต 8080 ของเซิร์ฟเวอร์ที่server.tldไปยังพอร์ต 80 ของเครื่องที่เริ่มการเชื่อมต่อ SSH

เซิร์ฟเวอร์อนุญาตให้ฉันเชื่อมต่อlocalhost:8080และส่งคืนผลลัพธ์initiator:80เมื่อฉันเชื่อมต่อบนเซิร์ฟเวอร์

คำถามนี้บอกว่าเปิดใช้งาน GatewayPort และเชื่อมโยงกับที่อยู่ทั้งหมด

ใช้ Putty ฉันจะแสดงพอร์ต 8080 บนเซิร์ฟเวอร์ได้อย่างไรเมื่อมีการร้องขอผ่านทางอินเทอร์เฟซภายนอก (เช่นคำขอเว็บ) พอร์ตจะถูกส่งต่อไปยังinitiator:80?

ป้อนคำอธิบายรูปภาพที่นี่


คุณช่วยให้รายละเอียดสิ่งที่คุณใส่ลงในกล่องโต้ตอบ PuTTY เพื่อสร้างอุโมงค์
EightBitTony

เพิ่มภาพหน้าจอ - พอร์ตต่างจากข้อความตัวอย่างอย่างไรก็ตามนี่ไม่อนุญาตให้มีการร้องขอบนอินเทอร์เฟซภายนอกเพื่อกำหนดเส้นทางผ่านอุโมงค์ (เช่น 1.2.3.4:8080) คำร้องขอภายในถูกกำหนดเส้นทาง (localhost: 8080)
Darbio

netstat -an | อะไร แสดง 8080 grep? และเมื่อคุณบอกว่าไม่อนุญาตคุณหมายถึงอะไร คุณมีไฟร์วอลล์บล็อกการเชื่อมต่อกับพอร์ต 8080 หรือไม่
EightBitTony

คำตอบ:


17

มีช่องทำเครื่องหมายสองช่องเมื่อตั้งค่าอุโมงค์พุตตี้

  • พอร์ตท้องถิ่นยอมรับการเชื่อมต่อจากโฮสต์อื่น
  • รีโมตพอร์ตทำเช่นเดียวกัน (SSH-2 เท่านั้น)

วินาทีของสิ่งเหล่านั้นทำในสิ่งที่คุณต้องการ

ฉันเพิ่งทดสอบมัน

ไดอะล็อก PuTTY tunnels

  • ทำเครื่องหมายพอร์ตระยะไกล ...
  • ใส่ 8080 ลงในพอร์ตต้นทาง
  • ใส่ 127.0.0.1:80 ในพอร์ตปลายทาง
  • เลือกปุ่มตัวเลือก 'ระยะไกล'
  • คลิกเพิ่ม
  • เชื่อมต่อ

ทำงานได้ดีนี่คือ netstat ที่เกิดขึ้น

# netstat -an | grep 8080
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN

คุณยังสามารถใช้ plink.exe ที่มาพร้อมกับ PuTTY ได้เช่น

plink -R *:8080:localhost:80 user@remote.host.example

ซึ่งใช้งานได้ดีเช่นกัน

# netstat -an | grep 8080
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN

หากคุณยังคงได้รับ 127.0.0.1:8080 ในโฮสต์จากนั้น GatewayPorts ยังคงถูกตั้งค่าเป็นไม่ในการกำหนดค่า sshd ของคุณ

นอกจากนี้อย่าลืมอัปเดตไฟร์วอลล์บนเซิร์ฟเวอร์เป้าหมายเพื่ออนุญาตการเชื่อมต่อภายนอกกับพอร์ต 8080


ไม่ - ดูเหมือนจะไม่ให้พฤติกรรมแบบเดียวกับที่ฉันssh -R *:8080:localhost:80ควรทำ
Darbio

GatewayPorts ถูกตั้งค่าเป็นใช่ ใช้งานได้กับssh -R \*:8080:localhost:80คำสั่งไม่สามารถคิดได้ใน
PuTTy

@ Darbio คุณเคยคิดออกในสีโป๊ว?
barlop

ฉันใช้พอร์ตการส่งต่อจำนวนมากมักใช้วิธี local2remote (vnc พร็อกซี ฯลฯ ) และในครั้งนี้ไม่ทำงานพอร์ต remote2local ไม่ว่าตัวเลือกใดที่ฉันจะตรวจสอบพอร์ตจะไม่ปรากฏเป็นเปิดในระยะไกล การใช้plinkโดยตรงทำงานได้โดยไม่มีปัญหาในการใช้คำสั่งเดียวกันกับ ssh ปกติ ฉันไม่สามารถเข้าใจสิ่งที่ผงสำหรับอุดรูทำให้มันไม่ทำงาน ...
m3nda
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.