Tuyển dụng
Viettel IDC

SSH key là gì? Hướng dẫn cách thêm khoá SSH vào Github

06/04/2026

Các cuộc tấn công mạng ngày càng tinh vi khiến bảo mật server trở thành yếu tố quan trọng với cả cá nhân và doanh nghiệp. Cùng Viettel IDC tìm hiểu SSH key là gì và vì sao phương thức này được đánh giá an toàn hơn so với password truyền thống?

SSH key là gì?

SSH key (Secure Shell key) là một cặp khóa mã hóa gồm khóa công khai (public key) và khóa riêng tư (private key), được sử dụng để xác thực và bảo mật kết nối từ xa đến máy chủ (Server) thay cho mật khẩu thông thường. SSH key an toàn hơn mật khẩu vì gần như không thể bẻ khóa bằng phương pháp brute-force.

SSH key là gì?

Những thành phần chính trong SSH Key

SSH key được xây dựng dựa trên cơ chế mã hóa bất đối xứng, trong đó mỗi người dùng sở hữu một cặp khóa liên kết với nhau để xác thực khi kết nối đến server. Vậy những thành phần chính của SSH Key là gì?
Có thể bạn quan tâm:

- SSH là gì? Tất tần tật thông tin về giao thức SSH

Public key

Public key là phần khóa được phép chia sẻ công khai và thường được upload lên server hoặc các dịch vụ quản lý mã nguồn. Khi bạn thiết lập SSH key, public key sẽ được lưu ở phía server để phục vụ cho việc xác thực. 

Mặc dù có thể chia sẻ rộng rãi, nhưng public key vẫn đóng vai trò quan trọng trong việc đối chiếu với private key tương ứng. Khi có yêu cầu kết nối, server sẽ sử dụng public key để kiểm tra xem client có sở hữu private key hợp lệ hay không. Chính vì vậy, public key có thể xem như “chìa khóa công khai” giúp hệ thống nhận diện người dùng.

Private key

Private key là thành phần quan trọng nhất trong cặp SSH key và luôn phải được giữ bí mật tuyệt đối. Khóa này được lưu trên máy local của người dùng và không bao giờ được chia sẻ ra bên ngoài. Trong quá trình xác thực, private key sẽ được sử dụng để ký thông tin nhằm chứng minh quyền truy cập mà không cần gửi trực tiếp dữ liệu nhạy cảm qua mạng. Nếu private key bị lộ, kẻ tấn công có thể sử dụng nó để truy cập vào server một cách hợp lệ.

Passphrase (tùy chọn)

Passphrase là lớp bảo vệ bổ sung dành cho private key, hoạt động tương tự như một mật khẩu thứ hai. Khi được thiết lập, mỗi lần sử dụng SSH key, người dùng sẽ cần nhập passphrase để giải mã private key trước khi tiến hành xác thực. 

Tuy nhiên, việc sử dụng passphrase cũng có thể làm giảm tính tiện lợi nếu phải nhập lại nhiều lần, trừ khi kết hợp với ssh-agent. Trong các môi trường yêu cầu bảo mật cao, việc đặt passphrase vẫn luôn được khuyến nghị.

Cách thức hoạt động của SSH Key là gì?

SSH Key hoạt động dựa trên cơ chế mã hóa bất đối xứng (public key - private key), cho phép xác thực truy cập máy chủ từ xa an toàn mà không cần mật khẩu. Khóa công khai (Public Key) được đặt trên máy chủ, trong khi Khóa riêng tư (Private Key) giữ bảo mật tại máy client. Máy chủ dùng Public Key để thách thức và Client dùng Private Key để chứng minh danh tính.

Cách thức hoạt động của SSH Key là gì?

Ưu điểm và nhược điểm của khoá SSH

Việc sử dụng SSH key mang lại nhiều lợi ích về bảo mật và hiệu suất, nhưng đồng thời cũng tồn tại một số hạn chế nhất định trong quá trình triển khai và quản lý. Dưới đây là những điểm mạnh và điểm yếu bạn cần nắm rõ trước khi áp dụng.

Ưu điểm của khóa SSH

- Bảo mật cao nhờ cơ chế mã hóa bất đối xứng, không cần truyền mật khẩu qua mạng nên giảm nguy cơ bị đánh cắp thông tin

- Gần như miễn nhiễm với các cuộc tấn công brute force do không thể đoán private key như password

- Cho phép đăng nhập tự động mà không cần nhập lại thông tin, giúp tiết kiệm thời gian khi làm việc với server

- Hỗ trợ tốt cho tự động hóa trong DevOps, CI/CD hoặc các script triển khai hệ thống

- Dễ dàng quản lý nhiều server bằng cách sử dụng cùng một public key trên nhiều máy

Nhược điểm của khóa SSH

- Thiết lập ban đầu phức tạp hơn so với việc sử dụng password, đặc biệt với người mới

- Nếu làm mất private key mà không có bản backup, bạn có thể mất quyền truy cập vào server

- Việc quản lý nhiều SSH key có thể trở nên khó khăn nếu không có quy trình rõ ràng

- Một số hệ thống cũ hoặc cấu hình đặc biệt có thể không hỗ trợ đầy đủ các loại SSH key hiện đại

- Nếu không đặt passphrase cho private key, rủi ro vẫn tồn tại nếu file key bị lộ 

Các loại SSH key phổ biến

Hiện nay, có nhiều loại SSH key được sử dụng với các mức độ bảo mật và hiệu suất khác nhau. Phổ biến nhất gồm:

RSA

RSA là một trong những thuật toán lâu đời nhất và cũng là loại SSH key được sử dụng rộng rãi trong nhiều năm. Nhờ khả năng tương thích cao, RSA gần như hoạt động tốt trên hầu hết các hệ thống và dịch vụ, từ server truyền thống đến các nền tảng cloud. Tuy nhiên, để đảm bảo mức độ an toàn hiện nay, RSA thường cần sử dụng key có độ dài lớn như 2048 hoặc 4096 bit.

DSA

DSA từng là một lựa chọn phổ biến trong các hệ thống SSH cũ, nhưng hiện nay gần như đã không còn được khuyến nghị sử dụng. Nguyên nhân chính là do thuật toán này bị giới hạn về độ dài key, dẫn đến mức độ bảo mật không còn đáp ứng được các tiêu chuẩn hiện đại. 

Nhiều hệ thống và dịch vụ hiện nay đã ngừng hỗ trợ DSA để tránh các rủi ro tiềm ẩn. Nếu tiếp tục sử dụng loại key này, hệ thống có thể dễ bị tấn công hơn so với các phương pháp mới. Trong hầu hết trường hợp, DSA được khuyến cáo  nên được thay thế bằng các thuật toán an toàn hơn.

ECDSA

ECDSA là một thuật toán dựa trên mật mã đường cong elliptic, cho phép đạt được mức độ bảo mật cao với kích thước key nhỏ hơn so với RSA. Nhờ đó, quá trình xác thực thường diễn ra nhanh hơn và tiêu tốn ít tài nguyên hơn. 

Tuy nhiên, so với RSA hoặc ED25519, ECDSA không phải lúc nào cũng là lựa chọn phổ biến nhất trong thực tế. Dù vậy, ECDSA vẫn là một giải pháp tốt khi cần cân bằng giữa hiệu suất và bảo mật.

ED25519

ED25519 là thuật toán hiện đại và đang được khuyến nghị sử dụng rộng rãi trong các hệ thống SSH ngày nay, được thiết kế để mang lại mức độ bảo mật cao trong khi vẫn đảm bảo tốc độ xử lý nhanh và kích thước key gọn nhẹ. Một điểm mạnh của ED25519 là khả năng tránh được nhiều điểm yếu tồn tại trong các thuật toán cũ như RSA hay DSA. 

Ngoài ra, hầu hết các hệ thống hiện đại đều đã hỗ trợ tốt loại key này, giúp việc triển khai trở nên dễ dàng hơn. Chính vì vậy, ED25519 thường được xem là lựa chọn tối ưu trong đa số trường hợp.

ED448

ED448 là phiên bản nâng cao hơn của ED25519, được phát triển nhằm cung cấp mức độ bảo mật cao hơn nữa cho các hệ thống yêu cầu tiêu chuẩn khắt khe. Tuy nhiên, do chưa được hỗ trợ rộng rãi trên nhiều nền tảng, ED448 vẫn chưa phổ biến trong thực tế sử dụng. 

Bên cạnh đó, hiệu suất của ED448 cũn thấp hơn so với ED25519 trong một số trường hợp. Vì vậy, loại key này thường chỉ được sử dụng trong các môi trường đặc thù, nơi mà yêu cầu bảo mật được đặt lên hàng đầu. 

Hướng dẫn cách thêm khoá SSH vào Github

Bước 1: Thiết lập SSH key trên máy tính của bạn

Mở Terminal (Mac/Linux) hoặc Command Prompt / PowerShell (Windows), sau đó chạy lệnh:

ssh-keygen -t ed25519 -C "my_email@example.com"

Thay email bằng địa chỉ bạn dùng cho GitHub. Trong trường hợp hệ thống không hỗ trợ ED25519, bạn có thể chuyển sang RSA với lệnh:

ssh-keygen -t rsa -b 4096 -C "my_email@example.com"

Sau khi chạy lệnh, hệ thống sẽ yêu cầu bạn chọn vị trí lưu key. Nếu không có nhu cầu đặc biệt, bạn chỉ cần nhấn Enter để sử dụng đường dẫn mặc định. Bạn cũng có thể đặt thêm passphrase để tăng bảo mật cho private key.

Bước 2: Thêm SSH key vào ssh-agent

Nếu bạn đã đặt passphrase, việc thêm key vào ssh-agent sẽ giúp tránh phải nhập lại mỗi lần sử dụng. Bạn chạy lần lượt hai lệnh sau:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Sau bước này, SSH key sẽ được lưu trong phiên làm việc hiện tại và tự động sử dụng khi kết nối.

Bước 3: Cấu hình public key trên GitHub

Bạn mở file public key tại đường dẫn ~/.ssh/id_ed25519.pub, sau đó sao chép toàn bộ nội dung bên trong. Tiếp theo, đăng nhập vào GitHub, truy cập vào phần Settings, chọn mục SSH and GPG keys và tạo key mới. Dán nội dung vừa sao chép vào ô Key, đặt tên cho key và lưu lại.

Bước 4: Kiểm tra kết nối

Sau khi hoàn tất, bạn có thể kiểm tra bằng lệnh:

ssh -T git@github.com

Nếu hệ thống trả về thông báo xác thực thành công, điều đó có nghĩa là bạn đã cấu hình SSH key đúng cách và có thể sử dụng để push hoặc pull code mà không cần nhập mật khẩu.

Hướng dẫn cách thêm khoá SSH vào Github

SSH Key có an toàn không? So sánh SSH Key và password

Trong quá trình quản lý server hoặc làm việc với các hệ thống cloud, vấn đề bảo mật luôn là yếu tố được ưu tiên hàng đầu. Nhiều người vẫn quen sử dụng password để đăng nhập, tuy nhiên phương pháp này tiềm ẩn khá nhiều rủi ro như brute force hoặc bị lộ thông tin đăng nhập. Trong khi đó, SSH Key được thiết kế với cơ chế mã hóa bất đối xứng, giúp tăng cường độ an toàn và hạn chế tối đa các hình thức tấn công phổ biến. 

 

Tiêu chí

SSH Key

Password

Cách xác thực

Cặp khóa (public + private)

Chuỗi ký tự người dùng nhập

Mức độ bảo mật

Rất cao (mã hóa mạnh)

Trung bình (dễ bị brute force)

Nguy cơ bị hack

Thấp

Cao nếu password yếu

Brute force attack

Gần như không thể

Dễ bị tấn công

Truyền dữ liệu

Không gửi private key qua mạng

Gửi thông tin xác thực

Tính tiện lợi

Đăng nhập tự động, không cần nhập

Phải nhập mỗi lần

Quản lý nhiều server

Dễ dàng

Khó quản lý

Thiết lập ban đầu

Phức tạp hơn

Rất đơn giản

Phù hợp với

DevOps, server, cloud

Người dùng phổ thông

Khả năng tự động hóa

Rất tốt (CI/CD, script)

Hạn chế

Kết luận

Qua bài viết, có thể hiểu rõ SSH key là gì cũng như cách hoạt động và giá trị mà nó mang lại trong bảo mật hệ thống. SSH key giúp hạn chế rủi ro tấn công, đồng thời hỗ trợ tối ưu quy trình làm việc trong môi trường server và cloud. Khi được thiết lập và quản lý đúng cách, đây là giải pháp xác thực hiện đại, an toàn và phù hợp với xu hướng hiện nay. 

Để được hỗ trợ tư vấn và tìm hiểu các dịch vụ của Viettel, bạn có thể liên hệ trực tiếp tới Viettel IDC qua các kênh:

- Hotline: 1800 8088 (miễn phí cước gọi)

- Fanpage: https://www.facebook.com/viettelidc  

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

28/09/2026

Trigger là gì trong DBMS? Cách hoạt động, các loại phổ biến và ứng dụng

Trigger là gì trong DBMS? Tìm hiểu cách trigger hoạt động, các loại phổ biến, ví dụ minh họa, ưu nhược điểm và khi nào nên sử dụng.

28/09/2026

Figma là gì? Nền tảng thiết kế và cộng tác trực tuyến

Figma là gì, có những tính năng nổi bật nào? Tìm hiểu Vector Network, Auto Layout, Dev Mode và vị thế hiện tại của Figma trong ngành thiết kế.

28/09/2026

Camera Cloud cần tốc độ mạng bao nhiêu? Cách tính băng thông cần thiết

Camera Cloud cần tốc độ mạng bao nhiêu? Tìm hiểu mức băng thông cần thiết, cách tính upload và các yếu tố ảnh hưởng đến tốc độ khi sử dụng Camera Cloud.

28/09/2026

Camera Cloud có bị hack không? Nguyên nhân và cách bảo mật

Camera Cloud có bị hack không? Tìm hiểu các rủi ro bảo mật, nguyên nhân bị xâm nhập và cách bảo vệ camera, tài khoản cùng dữ liệu hiệu quả.

28/09/2026

Viettel IDC: Nhà cung cấp VMware Sovereign Cloud duy nhất tại Đông Nam Á

Tại VMware Explore 2026 ở Las Vegas, Broadcom đã giới thiệu nhóm 57 nhà cung cấp dịch vụ đám mây chủ quyền trên nền tảng VMware Cloud Foundation. Viettel IDC là đơn vị duy nhất tại Đông Nam Á có tên trong danh sách này, đánh dấu bước tiến mới của doanh nghiệp Việt Nam trên thị trường hạ tầng cloud khu vực.

25/09/2026

Ghidra là gì? Chức năng và ứng dụng trong reverse engineering

Ghidra là gì? Tìm hiểu công cụ reverse engineering mã nguồn mở của NSA, các chức năng chính, ứng dụng thực tế và điểm khác biệt với IDA Pro.

25/09/2026

10 công cụ tối ưu hóa website theo từng mục tiêu

Tổng hợp 10 công cụ tối ưu hóa web cho tốc độ, SEO, trải nghiệm người dùng và chuyển đổi, kèm bảng so sánh và gợi ý lựa chọn theo nhu cầu.

25/09/2026

So sánh WHOIS và DNS Lookup: Điểm khác nhau và khi nào nên sử dụng

WHOIS và DNS Lookup khác nhau thế nào? Tìm hiểu định nghĩa, bảng so sánh, vai trò của RDAP thay thế WHOIS, và khi nào nên dùng công cụ nào.

25/09/2026

Cách test tải hệ thống: Quy trình và công cụ phổ biến

Cách test tải hệ thống hiệu quả gồm những bước nào? Tìm hiểu quy trình, chỉ số cần đo và công cụ phổ biến như JMeter, k6.

16/01/2025

Cloud Monitoring là gì? So sánh Hybrid Cloud và Multi Cloud Monitoring

Cloud Monitoring là quá trình theo dõi, quản lý và đánh giá hiệu suất của các tài nguyên và dịch vụ đám mây, bao gồm giám sát máy chủ, cơ sở dữ liệu, ứng dụng và hệ thống mạng