การส่งต่อพอร์ต SSH ในไฟล์ ~ / .ssh / config [ปิด]


153

ดังนั้นฉันมักจะเรียกใช้คำสั่งนี้มาก:

ssh -L 5901: myUser@computer.myHost.edu: 5901

ฉันใช้มันเพื่อทำ VNC ผ่าน SSH

ฉันจะแปลงคำสั่งนั้นเป็นสิ่งที่จะทำงานในไฟล์ ~ / .ssh / config ได้อย่างไร

อดีต:

host yam
    HostName yam.myHost.edu
    User myUserName

ทั้งหมดที่ฉันต้องการทำคือพิมพ์:

ssh yam

และให้มันเปิดเปลือก SSH ด้วยพอร์ตฟังในเครื่องและส่งต่อไปยังรีโมตพอร์ต

ข้อเสนอแนะ?


3
เหตุใดจึงไม่ย้ายข้อมูลไปยัง SuperUser
Johnsyweb

@Johnsyweb เราไม่โอนย้ายข้อมูลจนกว่าเราจะแน่ใจว่าจะสร้างเนื้อหาที่ดีในเว็บไซต์เป้าหมาย (ซึ่งมีปัจจัยหลายประการที่ทำให้) อย่างไรก็ตามหากมีการปิดกระทู้อย่างแน่นอนสำหรับเว็บไซต์นี้ก็จะปิดเช่นนี้ในจุดที่
casperOne

@casperOne: เข้าท่า ขอบคุณ :)
Johnsyweb

5
@casperOne: หกปีต่อมาดูเหมือนว่าชุมชนจะพบคำถามนี้และคำตอบที่ได้รับการยอมรับว่ามีประโยชน์ มีวิธีโยกย้ายไปยัง SuperUser หรือไม่
Johnsyweb

คำตอบ:


220

คุณสามารถใช้LocalForwardคำสั่งในhost yamส่วนของ~/.ssh/config:

LocalForward 5901 computer.myHost.edu:5901

12
ขอบคุณ วิธีนี้ใช้ได้เช่นกัน: LocalForward 5901 localhost:5901. การส่งต่อพอร์ตในไฟล์กำหนดค่าอาจเป็นวิธีที่ดีที่สุดในการส่งต่อหลายพอร์ต
Philip Kearns

4
สำหรับฉันLocalForward port localhost:portทำงานได้เท่านั้น มีเหตุผลอะไรที่คนอื่นไม่ทำงาน?
fsociety

1
วิ่งเข้าไปในสิ่งนี้วันนี้หลายLocalForwardงบใช้งานได้ดีสำหรับการส่งต่อที่ซ้ำ ๆ ของพอร์ตที่แตกต่างกันหลายแห่ง (OpenSSH 7.1)
deaks

1
@fsociety: ขึ้นอยู่กับเครื่องที่มีพอร์ตเปิดที่คุณต้องการส่งต่อ นี่เป็นสองสถานการณ์ที่แตกต่างกัน หากคุณต้องการที่จะส่งต่อพอร์ตโดยตรงในพื้นที่ของการเชื่อมต่อ SSH localhostของการใช้งาน
blissini

3
ความรู้สึกนั้นเมื่อคุณพยายามตั้งค่าการส่งต่อพอร์ตหลายพอร์ตและการค้นหาเว็บนำคุณไปสู่สิ่งที่คุณรู้เมื่อเจ็ดปีก่อน แต่อย่างใดลืม ...
Johnsyweb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.