SSH là gì? SSH thực tế là giao thức cho phép người dùng quản trị, kiểm soát và chỉnh sửa dữ liệu của server thông qua internet. SSH còn giúp ích rất nhiều trong việc kết nối máy khách hàng máy chủ một cách an toàn, hiệu quả. Để biết thêm thông tin về SSH, cùng BlogHaiNguyen tìm hiểu qua bài viết dưới đây.
- Top 5 VPS Free tốt nhất hiện nay mà bạn đáng thử
- Trang web là gì? Những điều bạn cần biết về trang web
- User Flow là gì? Mẹo để xây dựng User flows tốt nhất
- Widget là gì trong WordPress? Tổng hợp các kiến thức về Widget WordPress
- Javascript là gì? Những khái niệm cơ bản về ngôn ngữ lập trình JS
SSH là gì?
SSH (Secure Socket Shell) là một giao thức điều khiển từ xa giúp cho người dùng có thể dễ dàng kiểm soát hay sửa chữa server dựa trên mạng internet. Đây là dịch vụ được tạo ra để phục vụ cho việc chuyển tập tin hoặc chạy chương trình. Ngoài ra, SSH còn hỗ trợ chuyển tiếp kết nối TCP/IP thông qua liên kết an toàn.
Cách hoạt động của giao thức SSH là gì?
Trước khi hiểu tường tận về khái niệm SSH là gì bạn phải biết được cách hoạt động của giao thức này. Đối với những hệ điều hành như Linux hay Mac thì việc sử dụng SSH khá đơn giản, nhưng nếu bạn đang dùng hệ điều hành Windows thì cần có sự hỗ trợ của những SSH client. Bạn có thể tham khảo SSH client như Putty.
Nếu đang dùng MAC hoặc Linux, bạn hãy vào terminal và thực hiện theo những bước sau để dùng SSH.
Lệnh SSH gồm 3 phần như sau:
ssh {user}@{host}
Trong đó:
- {user}: Đây là lệnh đại diện cho tài khoản người dùng để đăng nhập, chẳng hạn như bạn muốn vào user root, bạn có thể thay root tại đây. User root dùng để chỉnh sửa những gì trên hệ thống.
- {host}: Đây là lệnh đại diện cho máy tính bạn dùng để truy cập, nó có thể là tên miền hoặc địa chỉ IP.
Nếu đang dùng hệ điều hành Windows, bạn có thể kết nối với SSH qua cách sau đây:
Vì Windows không được tích hợp SSH Command nên cần sự hỗ trợ từ bên thứ 3 là những mã nguồn mở như PuTTy hoặc ZOC7.
Sử dụng mã nguồn mở PuTTy
- Bước 1: Tải mã nguồn mở PuTTy về máy
- Bước 2: Khởi động mã nguồn mở PuTTy vừa được cài đặt
- Bước 3: Điền thông tin server
- Bước 4: Nhập username và password
Khi kết nối, bạn nên lưu ý độ tương thích giữa những thông số, đặc biệt là với khung Port và số cổng mà SSH server yêu cầu. Bên cạnh đó, cần lưu ý về chế độ bảo mật, nếu dùng lần đầu thì có thể bấm yes, còn dùng lâu ngày thì nên cẩn thận vì SSH Server độc hại.
Ngoài khả năng kết nối, cấu hình SSH Server, người dùng còn có thể sử dụng file Private Key cho các ứng dụng khác khi cần kết nối với SSH. Người dùng sẽ tìm được tính năng này khi bật cửa sổ PuTTY Configuration, chọn Connection, chọn SSH chọn tiếp Auth. Khi cửa sổ hiện lên, nhấn Browse, sau đó nhấn file Private Key và nhấn Open.
Sử dụng mã nguồn mở ZOC7
- Bước 1: Tải về mã nguồn mở ZOC7 Terminal
- Bước 2: Nhập thông tin server và port tại cửa sổ Login
- Bước 3: Tại ô Connection Type chọn Secure Shell
- Bước 4: Tại ô Emulation chọn Linux
- Bước 5: Điền username và password
- Bước 6: Bấm Connect để kết nối với server
Ưu điểm của SSH access là gì?
Nguyên nhân mà nhiều người chọn SSH thay vì những giao thức khác là vì giao thức này có nhiều ưu điểm nổi trội hơn. Đầu tiên phải nói đến là khả năng truyền tải dữ liệu và mã hóa một cách an toàn giữa hai mạng lưới host và client. Host là đại diện của máy chủ từ xa và client là máy tính bạn đang sử dụng để cố gắng kết nối với host.
Ưu điểm thứ hai là SSH có nhiều cách để mã hóa mà vẫn giữ được tính hiệu quả và toàn vẹn, chẳng hạn như:
- Hashing
- Symmetrical encryption
- Asymmetrical encryption
Tìm hiểu về kỹ thuật mã hóa SSH và cách sử dụng SSH
Symmetrical Encryption
Symmetrical Encryption là dạng mã hóa 2 chiều sử dụng secret key, đồng thời giải mã tin nhắn bởi cả client lẫn host. Những ai nắm được khóa này đều có thể giải mã tin nhắn khi chuyền.
Khi dùng Symmetrical Encryption, cả client và server đều được tạo một mã bí mật và không được cung cấp cho bên thứ 3. Symmetric key sẽ được tạo bởi key exchange algorithm.
Key này sẽ không được truyền qua lại giữa máy client và host, thay vào đó, hai máy tính sẽ chia sẻ chung thông tin và dùng chúng để tính khóa bảo mật. Như vậy, kể cả khi máy khác bắt được thông tin chung đó thì cũng không thể nào biết được thuật toán của key.
Asymmetrical Encryption
Asymmetrical Encryption sử dụng 2 khóa khác nhau để giải mã và mã hóa, nó được gọi là private key và public key. 2 key này sẽ tạo thành cặp khóa gọi chung là public-private key pair. Trong 2 key này, public key sẽ được công khai cho những bên liên quan còn private key thì được bảo mật an toàn.
Asymmetrical Encryption sẽ được dùng trong quá trình trao đổi thuật toán của symmetric encryption. Khi đã kết nối symmetric encryption một cách an toàn, server sẽ nhận nhiệm vụ dùng public key của client tạo, challenge và truyền key tới client phục vụ cho quá trình chứng thực. Khi client giải mã được tin nhắn tức là đã nắm đúng private key.
Hashing
Hashing tương đối khác so với 2 cách thức mã hóa trên vì nó sinh ra không phải để giải mã. Hashing sẽ tạo ra một giá trị có độ dài nhất định và giá trị này là duy nhất phục vụ cho mỗi lần nhập liệu.
SSH dùng hashing nhằm xác định tính xác thực của tin nhắn, đảm bảo lệnh không bị giả mạo dưới bất kỳ hình thức nào.
Nên sử dụng SSH vào thời điểm nào?
SSH trong mô hình TCP/IP hoạt động ở tầng thứ 4, giúp ích rất nhiều cho việc tương tác giữa máy khách và máy chủ. Đồng thời, SSH còn sử dụng cơ chế mã hóa giúp ngăn chặn việc đánh cắp thông tin, nghe trộm. Ưu điểm này các giao thức như telnet hay rlogin không thể thực hiện được.
Khi có nhu cầu thiết lập kết nối mạng được mã hóa hoặc muốn được cung cấp môi trường an toàn cho người dùng, bạn nên sử dụng SSH với các công cụ phổ biến như PuTTY, OpenSSH, …
Kết luận
Phía trên là toàn bộ thông tin giải đáp cho câu hỏi SSH là gì. Hy vọng sau bài viết này người dùng sẽ có cái nhìn tổng quan hơn về giao thức SSH đang được sử dụng phổ biến hiện nay. Bên cạnh đó, bạn còn có thể so sánh được ưu và nhược điểm của SSH so với các giao thức khác nhằm chọn lựa giao thức tối ưu để sử dụng.