SSH sử dụng UDP để làm gì?


41

Khi thực hiện nghiên cứu tôi nhận thấy rằng cả SSH đều sử dụng TCP và UDP. Tôi hoàn toàn hiểu việc sử dụng TCP, nhưng UDP có vẻ hơi lạ. Tại sao tôi nên sử dụng giao thức vận chuyển "không đáng tin cậy" với bắt tay tối thiểu để truy cập shell an toàn?

Việc sử dụng duy nhất tôi có thể nghĩ là dành cho SCP, vì vậy truyền (tệp) lớn. Nhưng một lần nữa, TCP sẽ hữu ích hơn vì các công cụ bắt tay?

Trên thực tế, tôi đang xem xét chỉ mở TCP cho SSH, nhưng không biết ý nghĩa của việc đó sẽ khá bất lợi.


CHỈNH SỬA

Hóa ra rằng không chỉ có một luận điểm về ssh về UDP, mà còn là một triển khai ssh đầy đủ, được gọi là mosh . Tuy nhiên, ssh cổ điển vẫn chỉ sử dụng TCP, như được chỉ định trong RFC của nó .


2
Tại sao bạn nghĩ SSH sử dụng UDP? Tôi đã thử nó với một số kết nối SSH từ Windows đến Unix và Unix đến Unix và tôi không nhận được một gói UDP nào trên cổng 22. Ngoài ra, máy chủ chỉ nghe trên TCP.
mtak

1
Chà, Wikipedia kể nhiều en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers Ngoài ra, người dùng trên web dường như tìm hiểu một số điều thông qua kết hợp ssh-udp, nhưng không rõ tại sao họ lại sử dụng UDP và không phải TCP. Do đó câu hỏi của tôi.
alex

Trong luận án này, họ đã cố gắng triển khai UDP cho truyền tải SSH, nhưng họ cũng đề cập rằng mặc định chỉ sử dụng TCP: ". OpenSSH đang sử dụng TCP một cách nhất quán cho tất cả các kết nối mạng và do đó cho tính năng VPN của nó." Trang Wikipedia có thể nói đó là UDP vì các nhà phát triển SSH đã đưa ra yêu cầu ban đầu cho các bài tập UDP & TCP, nhưng RFC có liên quan không đề cập đến nó. Nhưng tôi phải đồng ý, một câu hỏi thú vị.
mtak

Huh. Không ngờ rằng. Vâng, viết nó lên như một câu trả lời, bạn xứng đáng được một số điểm.
alex

Câu trả lời:


44

Tôi đã thử nó với một số kết nối SSH từ Windows đến Unix và Unix đến Unix và tôi không nhận được một gói UDP nào trên cổng 22. Ngoài ra, máy chủ chỉ nghe trên TCP.

Trong luận án này, họ đã cố gắng triển khai UDP cho truyền tải SSH, nhưng họ cũng đề cập rằng mặc định chỉ sử dụng TCP: ". OpenSSH đang sử dụng TCP một cách nhất quán cho tất cả các kết nối mạng và do đó cho tính năng VPN của nó." Trang Wikipedia có thể nói đó là UDP vì các nhà phát triển SSH đã đưa ra yêu cầu ban đầu cho các bài tập UDP & TCP, nhưng RFC có liên quan không đề cập đến nó.


5

... Giao thức SSH sử dụng hoặc đã sử dụng 22 / UDP để điều khiển đường hầm thông qua TCP. Nếu được giải mã chính xác qua Wireshark và bạn đang tạo đường hầm kết nối thông qua ssh-agent hoặc đường hầm từ xa hoặc cục bộ, bạn sẽ nhận thấy rằng UDP được gói gọn trong các phân đoạn TCP.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.