SSH ใช้ UDP ทำอะไร


40

ฉันทำวิจัยฉันสังเกตว่า SSH ใช้ทั้ง TCP และ UDP ฉันเข้าใจการใช้ TCP อย่างสมบูรณ์ แต่ UDP ดูค่อนข้างแปลก ทำไมฉันถึงต้องใช้โปรโตคอลการขนส่ง "ไม่น่าเชื่อถือ" ด้วยการจับมือน้อยที่สุดสำหรับการเข้าถึงเชลล์อย่างปลอดภัย?

สิ่งเดียวที่ฉันนึกได้คือสำหรับ SCP ดังนั้นการส่งไฟล์ (ใหญ่) แต่อีกครั้ง TCP จะไม่มีประโยชน์มากกว่านี้เพราะสิ่งที่จับมือกัน

ที่จริงแล้วฉันกำลังพิจารณาที่จะเปิด TCP สำหรับ SSH เท่านั้น แต่ไม่ทราบถึงความหมายของสิ่งนั้นที่จะเป็นอันตราย


แก้ไข

ปรากฎว่ามีไม่เพียงวิทยานิพนธ์เกี่ยวกับ SSH มากกว่า UDP แต่ยังเต็มเปี่ยม SSH การดำเนินงานที่เรียกว่าร็อก อย่างไรก็ตาม SSH คลาสสิกยังคงใช้เฉพาะ TCP ตามที่ระบุในของRFCs


2
ทำไมคุณคิดว่า SSH ใช้ UDP ฉันลองกับการเชื่อมต่อ SSH หลายแห่งจาก Windows ไปยัง Unix และ Unix ไปยัง Unix และฉันไม่ได้รับแพ็กเก็ต UDP เดี่ยวที่พอร์ต 22 นอกจากนี้เซิร์ฟเวอร์จะฟังบน TCP เท่านั้น
mtak

1
วิกิพีเดียบอกen.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbersมากขึ้นผู้ใช้บนเว็บดูเหมือนจะเจาะลึกบางสิ่งผ่านคำสั่งผสม ssh-udp แต่ก็ไม่ชัดเจนว่าทำไมพวกเขาถึงใช้ UDP ไม่ใช่ TCP ดังนั้นคำถามของฉัน
alex

ในวิทยานิพนธ์นี้พวกเขาพยายามใช้ UDP สำหรับการขนส่ง SSH แต่พวกเขายังกล่าวว่าค่าเริ่มต้นใช้ TCP เท่านั้น: "OpenSSH ใช้ TCP อย่างสม่ำเสมอสำหรับการเชื่อมต่อเครือข่ายทั้งหมดและคุณลักษณะ VPN ของมัน" หน้า Wikipedia อาจบอกว่าเป็น UDP เพราะนักพัฒนา SSH ได้ทำการร้องขอเริ่มต้นสำหรับการกำหนด UDP & TCP แต่RFCที่เกี่ยวข้องไม่ได้กล่าวถึง แต่ฉันต้องยอมรับคำถามที่น่าสนใจ
mtak

ฮะ. ไม่ได้คาดหวังว่า ทีนี้เขียนมันขึ้นมาเป็นคำตอบคุณสมควรได้รับบางจุด
alex

คำตอบ:


43

ฉันลองกับการเชื่อมต่อ SSH หลายแห่งจาก Windows ไปยัง Unix และ Unix ไปยัง Unix และฉันไม่ได้รับแพ็กเก็ต UDP เดี่ยวที่พอร์ต 22 นอกจากนี้เซิร์ฟเวอร์จะฟังบน TCP เท่านั้น

ในวิทยานิพนธ์นี้พวกเขาพยายามใช้ UDP สำหรับการขนส่ง SSH แต่พวกเขายังกล่าวว่าค่าเริ่มต้นใช้ TCP เท่านั้น: "OpenSSH ใช้ TCP อย่างสม่ำเสมอสำหรับการเชื่อมต่อเครือข่ายทั้งหมดและคุณลักษณะ VPN ของมัน" หน้า Wikipedia อาจบอกว่าเป็น UDP เพราะนักพัฒนา SSH ได้ทำการร้องขอเริ่มต้นสำหรับการกำหนด UDP & TCP แต่RFC ที่เกี่ยวข้องไม่ได้กล่าวถึง


5

... โปรโตคอล SSH ใช้หรือใช้ 22 / UDP สำหรับการควบคุมช่องสัญญาณผ่าน TCP หากถอดรหัสอย่างถูกต้องผ่าน Wireshark และคุณกำลังทำการเชื่อมต่อผ่านทาง ssh-agent หรือ tunneling จากระยะไกลหรือในพื้นที่คุณจะสังเกตเห็นว่า UDP นั้นถูกห่อหุ้มอยู่ในเซ็กเมนต์ TCP

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