ดังนั้นนี่เหมาะสำหรับฉัน:
ssh -v -L 8080:remotewebserver:8080 me@jumphost
ถ้าฉันต้องการเพิ่มพอร์ตด้วยล่ะ
ฉันต้องการที่จะส่งต่อไม่เพียง 8080 แต่ยัง 8443, 8923 และ 8181?
ฉันต้องทำการเชื่อมต่อใหม่สำหรับแต่ละพอร์ตหรือไม่
ดังนั้นนี่เหมาะสำหรับฉัน:
ssh -v -L 8080:remotewebserver:8080 me@jumphost
ถ้าฉันต้องการเพิ่มพอร์ตด้วยล่ะ
ฉันต้องการที่จะส่งต่อไม่เพียง 8080 แต่ยัง 8443, 8923 และ 8181?
ฉันต้องทำการเชื่อมต่อใหม่สำหรับแต่ละพอร์ตหรือไม่
คำตอบ:
ไม่คุณไม่ต้องการการเชื่อมต่อหนึ่งsshต่อพอร์ตที่ส่งต่อเพียงแค่เพิ่ม-L
ข้อความสั่งเพิ่มเติม:
ssh -L LPort1:RHOST1:RPORT1 -L LPORT2:RHOST2:RPORT2 me@ju.mp.ho.st
สิ่งนี้สามารถย่อให้เล็กลงได้ssh jump
โดยใช้ "นามแฝง" jump
หากคุณตั้งค่าส่วนที่ตรงกันใน~/.ssh/config
แบบนี้:
Host jump
User myUserName
Hostname ju.mp.ho.st
Port 2345
LocalForward 8080 remotewebserver:8080
LocalForward 8443 remotewebserver:8443
LocalForward 8923 remotewebserver:8923
LocalForward 8181 remotewebserver:8181
# Eliminates reconnection delay, and does not try to re-forward ports:
Host *
ControlMaster auto
ControlPath /tmp/%r@%h:%p
ฉันได้ใช้เทคนิคนี้มานานหลายปีแน่นอนแล้วกับ 10+ พอร์ต -D
แต่เมื่อฉันต้องพอร์ตมากขึ้นส่งผมใช้การสนับสนุนแบบไดนามิกถุงเท้าพร็อกซี่
bind: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port:
จากนั้นCould not request local forwarding.
ด้วยการตั้งค่าควบคุม * สิ่งเหล่านี้จะหายไปขอบคุณ! PS: ฉันใช้เครื่องหมายความคิดเห็นนั้นใน SE และคุณเป็นคนแรกที่ฉันเคยเห็นด้วย ขอขอบคุณที่ :)