มีประสิทธิภาพมากที่สุดในการตั้งค่าอุโมงค์หลาย ssh?


1

ขณะนี้ฉันต้องการเข้าถึงจากระยะไกลไปยังเครื่อง 10-20 เครื่องซึ่งบางเครื่องต้องเข้าถึงผ่าน SSH hops หลายเครื่อง อย่างไรก็ตามฉันได้สังเกตเห็นว่าการเชื่อมต่อ SSH บางส่วนนั้นค่อนข้างเชื่องช้า การตั้งค่าที่มีประสิทธิภาพมากที่สุดคืออะไร? โดยเฉพาะอย่างยิ่งมีค่าใช้จ่ายในการปฏิบัติงาน / IO ในการเพิ่มพอร์ตผูกเข้ากับคำสั่ง ssh เดียวกันหรือไม่?

ตัวอย่างเช่นอะไรคือความแตกต่างระหว่างสิ่งนี้:

ssh -f user0@host0 -i "/certs/key.pem" -L 2001:host1:22 -L 2002:host2:22 -L 2003:host3:22 -N

และนี่:

ssh -f user0@host0 -i "/certs/key.pem" -L 2001:host1:22 -N
ssh -f user0@host0 -i "/certs/key.pem" -L 2002:host2:22 -N
ssh -f user0@host0 -i "/certs/key.pem" -L 2003:host3:22 -N

ฉันสังเกตเห็นว่าในกรณีแรกมีเพียงหนึ่งอินสแตนซ์ของการทำงาน SSH แต่ในกรณีที่สองจะมีสาม การตั้งค่าใดที่จะให้ประสิทธิภาพที่ดีที่สุดสำหรับการเชื่อมต่อ SSH ใด ๆ ที่ทำผ่านอุโมงค์ หรือความแตกต่างด้านประสิทธิภาพใด ๆ เพียงแค่แคระความเร็วเครือข่าย?

คำตอบ:


1

หนึ่งใช้การเชื่อมต่อเดียวที่มี 3 อุโมงค์ที่สองใช้การเชื่อมต่อ 3 แยกด้วย 3 อุโมงค์ มีประสิทธิภาพมากกว่าเพียงแค่ใช้คำสั่งแรกโดยสมมติว่าไม่มีการตั้งค่าอื่นที่ใช้งานผ่าน ~/.ssh/config หรือ /etc/ssh/ssh_config.

ตัวอย่างเช่นถ้าคุณใช้ ControlMaster และ ControlPathคำสั่งทั้งสองจะให้ประสิทธิภาพในระดับเดียวกัน

นอกจากนี้หากคุณเขียนสคริปต์และเกี่ยวข้องกับความสามารถในการอ่านลองสิ่งนี้:

ssh \
    -f \
    -i "/certs/key.pem" \
    -L 2001:host1:22 \
    -L 2002:host2:22 \
    -L 2003:host3:22

ฉันคิดว่าคุณจะบรรลุเป้าหมายได้ง่ายขึ้นถ้าคุณใช้สิ่งนี้ในของคุณ ~/.ssh/config:

Host host1
    ProxyCommand ssh host0 -W %h:%p

หากคุณทำเช่นนั้นคุณไม่จำเป็นต้องใช้อุโมงค์ตั้งแต่แรกเพราะดูเหมือนว่าคุณกำลังพยายามส่งต่อการเชื่อมต่อ ssh


ขอโทษด้วยคำถามของฉันยังไม่ชัดเจน ฉันได้แก้ไขเพื่อชี้แจงว่าฉันสนใจในสิ่งที่ให้ประสิทธิภาพที่ดีที่สุดสำหรับการเชื่อมต่อ SSH ใด ๆ ที่ถูกเรียกใช้ผ่านอุโมงค์แทนที่จะใช้ทรัพยากรระบบน้อยที่สุด
Robert Johnson

ตอบแก้ไขเพื่อสะท้อนข้อมูลใหม่ของคุณ
UtahJarhead

ฉันได้อ่านอย่างรวดเร็วเกี่ยวกับ ControlMaster และ ControlPath ถ้าฉันเข้าใจถูกต้องการใช้พวกมันจะให้ประสิทธิภาพในระดับเดียวกันเพราะโดยทั่วไปแล้วพวกเขาเปลี่ยนวิธีที่ 2 เป็นวิธีที่ 1 ที่อยู่เบื้องหลัง ดังนั้นอะไรคือความแตกต่างด้านประสิทธิภาพที่คุณไม่ได้ใช้ ControlMaster ฉันคิดว่าพอร์ตที่คุณผูกไว้จะยิ่ง "ทำงาน" ได้มากขึ้นแต่ละอินสแตนซ์ SSH ต้องทำดังนั้นอินสแตนซ์เพิ่มเติมหมายถึงทรัพยากรระบบที่ใช้หมด แต่อุโมงค์แยกต่างหากมีประสิทธิภาพมากกว่า นั่นถูกต้องใช่ไหม?
Robert Johnson

ผลการดำเนินงานที่แท้จริงคือกระบวนการเข้าสู่ระบบ การเข้ารหัสและการรับรองความถูกต้องเริ่มต้นจะถูกข้ามให้คุณเข้าสู่ระบบได้ทันทีหลังจากการเชื่อมต่อเริ่มต้น หลังจากนั้นผลกระทบต่อประสิทธิภาพควรเหมือนกัน
UtahJarhead

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