Mục lục [Ẩn]
Bạn có biết, môi trường internet là một trong những môi trường giao tiếp không an toàn và bất cứ thông tin nào của bạn cũng có thể bị xem trộm, đánh cắp,... Đây là lý do vì sao bạn cần đến SSH. Vậy SSH là gì? Cách sử dụng giao thức này và chức năng của nó? Tất cả sẽ được giải đáp trong bài viết dưới đây.
1. SSH là gì?
SSH (Secure Socket Shell) là một giao thức mạng cho phép truy cập máy tính từ xa một cách an toàn, bằng cách mã hóa đường truyền giữa hai máy tính. SSH hoạt động ở lớp trên trong mô hình phân lớp TCP/IP và sử dụng kỹ thuật cryptographic để đảm bảo tất cả các giao tiếp gửi tới và gửi từ máy chủ ở xa luôn trong tình trạng bảo mật, hạn chế việc nghe trộm, đánh cắp thông tin trên đường truyền.
SSH thường được lập trình viên sử dụng để tương tác giữa máy chủ và máy khách, nhằm bảo vệ các giao dịch an toàn và hiệu quả nhất.
2. SSH hoạt động như thế nào?
Bước 1. Định danh host
hoặc khởi tạo kết nối SSH. Được thực hiện qua việc trao đổi khóa, mỗi SSH trên máy tính có một kiểu định danh duy nhất. Nhằm xác định định danh của hệ thống được tham gia phiên làm việc SSH. Các server và client phải được bảo mật trên kênh kết nối này.
Bước 2. Mã hoá dữ liệu
SSH sẽ thiết lập các kênh làm việc mã hoá. Việc này được thực hiện sau khi Client đã xác định được định danh của của máy chủ. Các cặp mã bảo mật đối xứng sẽ được hình thành và chia sẻ với 2 bên máy.
Bước 3. Chứng thực mã hóa
Đây là bước cuối cùng. chứng thực và giải mã nhằm đảm bảo người sử dụng hoàn toàn có quyền đăng nhập vào hệ thống.
3. Các kỹ thuật mã hóa SSH
Sau khi biết SSH là gì, bạn cần tìm hiểu về các kỹ thuật mã hóa được sử dụng trong SSH để biết thông tin được bảo mật như thế nào.
Symmetrical Encryption
Là một dạng mã hóa sử dụng secret key (chìa khóa bí mật) ở cả 2 chiều mã hóa và giải mã tin nhắn bởi cả host và client. Quá trình tạo symmetric key được thực hiện bởi key exchange algorithm. Khi thực hiện kỹ thuật này, chỉ những người có chìa khóa (mật khẩu) mới có thể giả mã tin nhắn trong quá trình chuyển.
Lưu ý, key không được truyền giữa client và host. Thay vào đó, cả 2 máy tính chia sẻ thông tin chung và sau đó sử dụng chúng để tính ra khóa bí mật. Điều này đảm bảo, dù có bị máy tính khác bắt được đường truyền chung thì thông tin vẫn được an toàn vì không tính được thuật toán tạo key.
Asymmetrical Encryption
Asymmetrical encryption sử dụng 2 khóa khác nhau là public key và private key để mã hóa và giải mã. Hay còn biết đến là cặp khóa public-private key pair. Giống như tên gọi, khóa public sẽ được công khai cho tất cả các bên liên quan còn private key phải luôn luôn được đảm bảo an toàn.
Asymmetrical Encryption chỉ được sử dụng trong quá trình trao đổi thuật toán của khóa của symmetric encryption, server sử dụng public key của client để tạo, challenge và truyền nó tới client để chứng thực. Nếu client giải mã được thông tin nghĩa là nó đang giữa đúng private key cần thiết.
Hashing
Hashing được SSH sử dụng để để xác nhận tính xác thực của tin nhắn. Bằng cách tạo ra một giá trị duy nhất với độ dài nhất định cho mỗi lần nhập liệu mà không có hướng nào khác để khai thác.
SSH được thực hiện bởi HMACs, đảm bảo lệnh không bị giả mạo bởi bất kỳ phương thức nào.
4. Một số lệnh SSH phổ biến
Với định nghĩa SSH là gì, bạn có thể tìm hiểu thêm về các câu lệnh thường xuyên được dùng trong SSH, nó giúp hoạt động thiết lập và quản lý Website đơn giản hơn rất nhiều
Lệnh touch
Có tác dụng tạo tệp mới với phần đuôi chỉ định hoặc tạo một tệp mới mà không cần phần đuôi
Lệnh cat
Được sử dụng để hiển thị nội dung tệp tin ra màn hình hoặc cũng có thể biến tấu các kiểu khác nhau như copy nội dung tập tin, tạo mới tập tin,
>>> Xem thêm: 20 cách sử dụng lệnh cat trong hệ điều hành Linux
Lệnh Is
Lệnh này được sử dụng để liệt kê các tệp và các thư mục, giúp các tệp được liệt kê một cách nhanh chóng và dễ dàng. Bạn nên sử dụng tùy chọn -1 để có lệnh Is -1, giúp bạn có thêm thông tin chi tiết về các lệnh được liệt kê.
Lệnh cd
Đây là từ viết tắt của change directory, được sử dụng để di chuyển giữa các thư mục. Giúp bạn thực hiện việc sắp xếp và quản lý một cách dễ dàng hơn rất nhiều.
Lệnh rm
Được SSH sử dụng để xóa tệp, thư mục đã chọn. Nếu bạn muốn loại bỏ thư mục và tất cả các thư mục con bên trong, bạn sử dụng câu lệnh rm -r tên thư mục.
Lệnh cp
Được sử dụng để sao chép các tệp tin và thư mục với cú pháp cp [options] source dest
Để sao chép, bạn gõ file muốn copy thay cho source, thay dest bằng đường dẫn bạn muốn copy tới
Lệnh find được dùng để tìm kiếm các thư mục cho một hay nhiều file với các tiêu chí tìm kiếm nhất định.
Lệnh clear
Lệnh dùng để xóa tất cả văn bản khỏi màn hình Terminal.
Lệnh wgetis
Được sử dụng để tải các tệp xuống từ internet, bạn có thể sử dụng cú pháp wget https://fileurl/filename.ext để lưu trữ tệp bạn muốn tải vào mục hiện tại.
5. Cách tạo SSH key
SSH Keys là một phương thức xác thực đăng nhập với máy chủ thông qua truy cập SSH bằng việc đối chiếu giữa một cặp keys (Private và Public Key) đã được Nhân Hòa giới thiệu trong mục asymmetrical encryption ở trên.
Chúng tôi hướng dẫn bạn tạo SSH key trên 2 hệ điều hành được sử dụng nhiều nhất hiện nay.
Đối với Linux
Với hệ điều hành Linux chạy lệnh ssh-keygen -t rsa
Sau khi bạn chạy lệnh, màn hình sẽ hiện ra thông báo hiển thị đường dẫn lưu key được tạo ra và được lưu trong đường dẫn /root/.ssh/
Đối với Window
Bạn có thể sử dụng phần mềm PuTTY-Gen bằng cách download và cài đặt chúng trên hệ điều hành, nó giúp quá trình tạo SSH diễn ra nhanh chóng và đơn giản
Chọn generate, sau đó bạn di chuyển chuột quanh màn hình để tạo key -> Save private key
lưu lại đoạn public key ra một file với nội dung copy đoạn mã như ảnh bên dưới
6. Kết luận
Như vậy, SSH là một giao thức mã hóa thông tin đường truyền mà bạn nên sử dụng để bảo vệ tính riêng tư và sự an toàn trong từng giao dịch. Bài viết trên Nhân Hòa đã giải thích rất rõ định nghĩa SSH là gì. Hy vọng mọi người đã hiểu chi tiết về định nghĩa này.