คำตอบก่อนหน้านี้กล่าวถึงวิธีการใช้คำสั่ง ProxyJump (เพิ่มใน OpenSSH 7.3) เพื่อเชื่อมต่อผ่านเซิร์ฟเวอร์กลาง (โดยปกติจะเรียกว่าโฮสต์ bastion) แต่พูดถึงมันเป็นอาร์กิวเมนต์บรรทัดคำสั่ง
~/.ssh/config
เว้นแต่จะเป็นเครื่องที่คุณจะไม่ได้รับการเชื่อมต่อในอนาคตสิ่งที่ดีที่สุดคือการที่คุณกำหนดค่าบน
ฉันจะใส่ไฟล์เช่น:
Host office-machine
Hostname yochay-machine.internal.company.local
ProxyJump bastion-machine
Host bastion-machine
Hostname organization-server.company.com
...
หากคุณกำลังใช้ OpenSSH เวอร์ชันก่อนหน้าซึ่งไม่สนับสนุน ProxyJump คุณจะแทนที่ด้วยเทียบเท่า:
ProxyCommand ssh -W %h:%p bastion-machine
และถ้าเวอร์ชั่น ssh ในท้องที่ของคุณเป็นรุ่นโบราณที่ไม่สนับสนุน-W
:
ssh bastion-machine nc %h %p
แม้ว่าอันสุดท้ายนี้จะต้องnc
ติดตั้งเครื่องป้อมปราการ
ความสวยงามของ ssh คือคุณสามารถกำหนดค่าแต่ละปลายทางบนไฟล์ได้และมันจะมีความสวยงามมาก ดังนั้นคุณจะทำงานร่วมกับoffice-machine
ชื่อโฮสต์ในเครื่องมือทั้งหมด (ssh, scp, sftp ... ) ในขณะที่พวกเขากำลังเชื่อมต่อโดยตรงและพวกเขาจะรู้วิธีการเชื่อมต่อใน ssh_config คุณสามารถมีไวลด์การ์ดHost *.internal.company.local
เพื่อให้ไพร่พลทั้งหมดจบลงเช่นนั้นผ่านป้อมปราการที่เฉพาะเจาะจงและมันจะใช้กับพวกมันทั้งหมด เมื่อกำหนดค่าอย่างถูกต้องความแตกต่างเพียงอย่างเดียวระหว่างทำการเชื่อมต่อ hop หนึ่งครั้งหรือยี่สิบครั้งจะเป็นการเชื่อมต่อที่ช้าลง