SSH là gì?
SSH là chữ viết tắt của Secure Shell, tạm dịch là "môi trường an toàn" SSH được hiểu đơn giản là giao thức kết nối giữa máy chủ và máy khách được bảo mật một cách an toàn. Hiểu đơn giản hơn, Bạn sử dụng SSH để kết nối với VPS, Server thì sẽ không sợ bị đánh cắp thông tin được truyền đi giữa máy tính của Bạn và máy chủ. SSH cũng giống như giao thức SSL, nó mã hóa dữ liệu đường truyền. Bạn có thể sử dụng để chạy chương trình, chuyển tập tin, chuyển tiếp khác kết nối TCP / IP qua liên kết an toàn. Hiện nay SSH có phiên bản 2 là SSH2.
Các công cụ SSH phổ biến hiện nay: PuTTY, OpenSSH, Bitvise SSH
>>Xem thêm: PuTTY là gì? cách sử dụng phần mềm PuTTY
SSH so với SSL / TLS
SSH và TLS / SSL là các giao thức khác nhau sử dụng cho các mục đích tương tự. Cả hai giao thức được sử dụng để xác thực các bên và đảm bảo an toàn dữ liệu giao tiếp trong khi vận chuyển dữ liệu. SSL / TLS có xu hướng sử dụng giấy chứng nhận X.509 (X.509 được hiểu là tiêu chí chuẩn giao tiếp đảm bảo an toàn giữa máy khách, đường truyền và máy chủ), dựa trên bảng mã ASN.1, và thường được sử dụng là một lớp bảo mật cho HTTP, SMTP, và truyền tải tập tin bằng FTP.
Các giao thức SSH dựa trên một mã nhị phân đơn giản, và có sử dụng như một lớp bảo mật cho SFTP và SCP chuyển tập tin, truy cập trong môi trường an toàn, và chuyển tiếp các kết nối cho các ứng dụng khác.
SSH có thể được coi là một phiên bản đơn giản của TLS. Do độc lập có chủ ý từ chứng chỉ X.509, SSH phát triển độc lập từ chứng chỉ X.509, vậy nên SSH có khả năng kết nối máy trạm và máy khách một cách đáng tin cậy, nơi mà giao thức TLS kém an toàn hơn.
SSH an toàn như thế nào?
Các giao thức SSH phiên bản 2 cung cấp các dịch vụ của máy chủ: xác thực; mã hóa; xác minh tính toàn vẹn dữ liệu; và xác thực khách hàng. máy chủ xác thực được thực hiện bằng DSA, RSA hoặc ECDSA thuật toán mã khóa công khai. Để xác minh mã hóa và toàn vẹn dữ liệu, một số thuật toán được cung cấp mà mỗi sản phẩm SSH có thể thực hiện trong một khoảng thời gian nhất định. xác thực khách hàng có thể được thực hiện bằng cách sử dụng mật khẩu, khóa công khai, chỉ 1 tài khoản login trên 1 thời diểm (single sign-on), và các phương pháp khác.
Đặc điểm kỹ thuật giao thức SSH2 được công khai và đã được xem xét bởi một số người thực hiện độc lập. Khi thực hiện đúng và sử dụng, các giao thức được cho là an toàn chống lại tất cả các cuộc tấn công mật mã được biết đến.
Cách hoạt động của SSH
SSH làm việc thông qua 3 bước đơn giản:
• Định danh host - xác định định danh của hệ thống tham gia phiên làm việc SSH.
• Mã hoá - thiết lập kênh làm việc mã hoá.
• Chứng thực - xác thực người sử dụng có quyền đăng nhập hệ thống
Định danh host (được hiểu là máy khách - máy tính điều khiển)
Việc định danh host được thực hiện qua việc trao đổi khoá. Mỗi máy tính điều khiển SSH có một khoá định danh duy nhất. Khoá này gồm hai thành phần: khoá riêng tư và khoá công cộng. Khoá công cộng được sử dụng khi cần trao đổi giữa các máy chủ với nhau trong phiên làm việc SSH, dữ liệu sẽ được mã hoá bằng khoá công khai và chỉ có thể giải mã bằng khoá riêng. Khi có sự thay đổi về cấu hình trên máy chủ: thay đổi chương trình SSH, thay đổi cơ bản trong hệ điều hành, khoá định danh cũng sẽ thay đổi. Khi đó mọi người sử dụng SSH để đăng nhập vào máy chủ này đều được cảnh báo về sự thay đổi này. Khi hai hệ thống bắt đầu một phiên làm việc SSH, máy chủ sẽ gửi khoá công cộng của nó cho máy khách. Máy khách sinh ra một khoá phiên ngẫu nhiên và mã hoá khoá này bằng khoá công cộng của máy chủ, sau đó gửi lại cho máy chủ. Máy chủ sẽ giải mã khoá phiên này bằng khoá riêng của mình và nhận được khoá phiên. Khoá phiên này sẽ là khoá sử dụng để trao đổi dữ liệu giữa hai máy. Quá trình này được xem như các bước nhận diện máy chủ và máy khách. Kiểu mã hóa an toàn tập tin trên đường truyền này của SSH cũng giống với cơ chế của SSL (Giao thức https trên trình duyệt)
Mã hoá dữ liệu
Sau khi hoàn tất việc thiết lập phiên làm việc bảo mật (trao đổi khoá, định danh), quá trình trao đổi dữ liệu diễn ra thông qua một bước trung gian đó là mã hoá/giải mã. Điều đó có nghĩa là dữ liệu gửi/nhận trên đường truyền đều được mã hoá và giải mã theo cơ chế đã thoả thuận trước giữa máy chủ và máy khách. Việc lựa chọn cơ chế mã hoá thường do máy khách quyết định. Các cơ chế mã hoá thường được chọn bao gồm: 3DES, IDEA, và Blowfish. Khi cơ chế mã hoá được lựa chọn, máy chủ và máy khách trao đổi khoá mã hoá cho nhau. Việc trao đổi này cũng được bảo mật dựa trên đinh danh bí mật của các máy. Kẻ tấn công khó có thể đánh cắp và giải mã thông tin trao đổi trên đường truyền vì không biết được khoá mã hoá. Các thuật toán mã hoá khác nhau và các ưu, nhược điểm của từng loại:
- 3DES (cũng được biết như Triple-DES) -- phương pháp mã hoá mặc định cho SSH.
- IDEA - Nhanh hơn 3DES, nhưng chậm hơn Arcfour và Blowfish.
- Arcfour - Nhanh, nhưng các vấn đề bảo mật đã được phát hiện.
- Blowfish—Nhanh và bảo mật, nhưng các phương pháp mã hoá đang được cải tiến.
Chứng thực và giải mã
Việc chứng thực là bước cuối cùng trong ba bước, và là bước đa dạng nhất. Tại thời điểm này, kênh trao đổi bản thân nó đã được bảo mật. Mỗi định danh và truy nhập của người sử dụng có thể được cung cấp theo rất nhiều cách khác nhau. Chẳng hạn, kiểu chứng thực rhosts có thể được sử dụng, nhưng không phải là mặc định; nó đơn giản chỉ kiểm tra định danh của máy khách được liệt kê trong file rhost (theo DNS và địa chỉ IP). Việc chứng thực mật khẩu là một cách rất thông dụng để định danh người sử dụng, nhưng ngoài ra cũng có các cách khác: chứng thực RSA, sử dụng ssh-keygen và ssh-agent để chứng thực các cặp khoá.
SSH là một giao thức rất linh hoạt, và có rất nhiều cách (kiểu mã hóa) khác nhau. kiến trúc mở của giao thức cho phép các dịch vụ này để chạy cùng một lúc mà không cản trở nhau.
Mong rằng qua bài viết này có thể giúp các bạn dễ dàng hiểu SSH là gì? Nếu thấy bài viết này hữu ích hãy subscribe để theo dõi những thông tin mới nhất từ Hosting Việt nhé!