SSH là gì? SSH hoạt động như thế nào? Mọi thứ bạn cần biết về SSH

Mọi thứ bạn cần biết về SSH

Chia sẻ kiến thức 25/08/2022

Bạn từng nghe nói về SSH nhưng chưa bao giờ biết nó là gì? Dưới đây là tất cả những gì bạn cần biết.

Secure Shell (SSH) là một giao thức mạng mật mã giúp truyền tải thông tin an toàn qua một mạng không an toàn. Nó được phát triển để thay thế các giao thức cũ không an toàn, giúp tăng cường bảo mật và quyền riêng tư trên tất cả các hệ điều hành.

Vậy, chính xác thì SSH là gì?

SSH là gì?

Viết tắt của Secure Shell, SSH là một giao thức truyền thông mạng an toàn. Nó chủ yếu được các quản trị viên mạng dùng để kết nối với các thiết bị từ xa một cách an toàn..

Trước SSH, người dùng và quản trị viên đã sử dụng các giao thức mạng không an toàn, ví dụ như Telnet, để giao tiếp với các thiết bị từ xa. Các giao thức này gửi thông tin quan trọng như mật khẩu và thông tin đăng nhập ở dạng văn bản bình thường, khiến chúng trở thành mục tiêu dễ dàng cho những kẻ tấn công.

SSH thường giao tiếp qua cổng 22.

SSH1 khác gì với SSH2?

SSH có hai phiên bản: SSH1 và SSH2 trong đó SSH2 là giao thức an toàn hơn, cung cấp khả năng bảo vệ tốt hơn, hỗ trợ các thuật toán mã hóa mạnh hơn, nói chung là có nhiều cải tiến so với giao thức SSH ban đầu.

Như bạn có thể đoán, SSH2 là giao thức an toàn hơn. Nó cung cấp khả năng bảo vệ tốt hơn chống lại những kẻ tấn công và kẻ nghe trộm, hỗ trợ các thuật toán mã hóa mạnh hơn và tạo ra hàng đống cải tiến chung so với giao thức SSH ban đầu.

OpenSSH là gì?

OpenSSH là một triển khai mã nguồn mở phổ biến của SSH. Phiên bản miễn phí ban đầu của SSH được phát triển bởi nhà nghiên cứ người Phần Lan Tatu Ylönen. Các phiên bản SSH sau này là độc quyền, có nghĩa là chúng mất tiền và sử dụng, và bạn không thể thực hiện các thay đổi đối với giao thức khi chưa được phép.

Do đó, một nhóm các nhà phát triển đã tách phiên bản miễn phí ban đầu của SSH và đặt tên là OpenSSH, hiện được phát triển như một phần của OpenBSD (một hệ điều hành mã nguồn mở). Tất cả các hệ điều hành chính, chẳng hạn như Windows, macOS và nhiều bản phân phối Linux, đều hỗ trợ OpenSSH.

SSH hoạt động như thế nào?

Để hiểu cách hoạt động của SSH, bạn cần biết hai điều. Thứ nhất, shell là gì? Thứ hai, mật mã khóa công khai hoạt động như thế nào?

Shell là gì?

Shell là một phần mềm cho phép bạn giao tiếp với hệ điều hành lưu trữ nó. Thông thường, bạn cần sử dụng các lệnh để tương tác với shell.

Bạn không cần ngồi trước máy tính mà có thể vận hành một shell từ xa qua kết nối mạng bằng cách sử dụng SSH.

Mã hóa khóa công khai là gì?

Trong máy tính hiện đại, có hai kiểu mã hóa chính:

  • Thuật toán đối xứng (Symmetric algorithm): Sử dụng cùng một khóa để mã hóa và giải mã. Cả hai bên cần đồng ý về khóa thuật toán trước khi bắt đầu giao tiếp.
  • Thuật toán không đối xứng (Asymmetric algorithm): Sử dụng hai khóa khác nhau: khóa công khai và khóa riêng tư. Điều này giúp mã hóa an toàn trong khi giao tiếp mà không cần thiết lập thuật toán chung từ trước đó.

SSH là một loại mật mã khóa công khai, dùng cả hai loại mã hóa trên để tạo kết nối an toàn trong mô hình máy khách-máy chủ. Khi máy khách cố gắng tạo kết nối với máy chủ, mỗi bên sẽ trao đổi các giao thức mã hóa của họ.

Sau khi thống nhất một giao thức mã hóa phù hợp, máy khách và máy chủ sử dụng Thuật toán trao đổi khóa Diffie-Hellman (Diffie-Hellman Key Exchange Algorithm) để tìm ra một khóa mã hóa chung như một phần của thuật toán đối xứng. Khóa mã hóa này được giữ bí mật xuyên suốt quá trình kết nối và được sử dụng để mã hóa mọi thông tin liên lạc giữa hai bên.

Vậy còn mã hóa bất đối xứng thì sao?

Trong mật mã khóa công khai, bạn có hai khóa: khóa công khai và khóa cá nhân . Bạn có thể gửi khóa công khai cho người khác, trong khi chỉ có chủ sở hữu biết khóa cá nhân. Cùng nhau, chúng tạo thành một cặp.

Trước khi quá trình trao đổi khóa đối xứng diễn ra và kênh giao tiếp an toàn được thiết lập, SSH dùng mã hóa bất đối xứng để tạo ra một cặp khóa tạm thời. Máy khách và máy chủ trao đổi khóa công khai để xác thực lẫn nhau trước khi quá trình tạo khóa đối xứng bắt đầu.

SSH sử dụng thuật toán mã hóa nào?

Vì SSH sử dụng mã hóa đối xứng để bảo mật kết nối, bạn có thể định cấu hình SSH để sử dụng nhiều thuật toán mã hóa đối xứng, bao gồm AES, Blowfish, Twofish, 3DES, Salsa20/ChaCha20, IDEA, v.v.

SSH có giống SSL/TLS không?

Mặc dù cả SSH và SSL/TLS đều cung cấp bảo mật cho một giao thức mạng trước đây không an toàn, nhưng SSH và SSL/TLS không giống nhau.

Lớp cổng bảo mật (Secure Sockets Layer, hay SSL) và người kế nhiệm của nó, Bảo mật lớp truyền tải (Transport Layer Security, hay TLS), cung cấp một đường hầm giao tiếp được mã hóa. Bạn dùng TLS hàng ngày khi gửi email hoặc duyệt web. SSL và TLS là các giao thức lớp ứng dụng (application layer protocols). Trong các mạng truyền thông internet, lớp ứng dụng giúp chuẩn hóa thông tin liên lạc cho các dịch vụ người dùng cuối.

Trong khi cả SSL/TLS và SSH đều cung cấp mã hóa, chúng được thiết kế cho những thứ khác nhau. SSL/TLS được thiết kế để bảo vệ kết nối dữ liệu của bạn, trong khi SSH cho phép truy cập từ xa an toàn và thực thi lệnh.

SSH có trên nền tảng nào?

Miễn là hệ điều hành của bạn có ứng dụng khách SSH hoặc chức năng SSH tích hợp, bạn có thể dùng SSH. 

Ví dụ, bạn có thể làm theo hướng dẫn dành cho người mới bắt đầu về cách thiết lập SSH trên Linux.

Để tóm tắt, SSH cung cấp một giao thức mạng an toàn, dễ sử dụng, miễn phí và hoạt động trên mọi nền tảng. Hy vọng hướng dẫn ngắn này về SSH sẽ giúp bạn chuẩn bị tốt hơn để sử dụng nó trong tương lai.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/what-is-ssh/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX
icon icon

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại