Khóa SSH (Secure Shell Key) là cặp mã hóa giúp xác thực kết nối an toàn giữa máy tính cá nhân và máy chủ mà không cần dùng mật khẩu. Việc tạo và thêm khóa SSH vào ssh-agent giúp bạn quản lý đăng nhập tự động, bảo mật và tiện lợi hơn khi thao tác với Git hoặc server. Bài viết này sẽ hướng dẫn chi tiết cách tạo khóa SSH mới và thêm vào ssh-agent một cách đơn giản, phù hợp cho cả người mới bắt đầu.
Những điểm chính
- Khái niệm: Hiểu rõ SSH Keygen là công cụ dùng để tạo SSH key và tại sao SSH Key an toàn hơn mật khẩu.
- Cơ chế hoạt động: Nắm được nguyên tắc xác thực bằng cặp khóa, giúp bạn hiểu cách SSH Key bảo vệ kết nối.
- Chuẩn bị môi trường: Biết các bước cần thiết để chuẩn bị môi trường dòng lệnh trước khi tạo SSH Key.
- Hướng dẫn tạo SSH Key: Nắm vững quy trình các bước để tạo một cặp khóa RSA, sao chép khóa công khai lên máy chủ và vô hiệu hóa đăng nhập bằng mật khẩu.
- Tạo SSH Key trên Windows (OpenSSH): Biết cách tạo SSH Key trên Windows 10 bằng công cụ OpenSSH Client tích hợp sẵn.
- Tạo SSH Key trên Windows (PuTTY): Nắm vững các bước tạo SSH Key bằng công cụ PuTTYgen, một lựa chọn phổ biến khác cho người dùng Windows.
- Biết thêm Vietnix là nhà cung cấp dịch vụ lưu trữ uy tín, chất lượng, support nhiệt tình.
- Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến tạo SSH Key.

SSH Keygen là gì?
SSH Keygen là công cụ dùng để tạo SSH key, một cặp khóa mã hóa được sử dụng để xác thực danh tính người dùng trong giao thức SSH. Cặp khóa này cho phép đăng nhập vào máy chủ từ xa mà không cần mật khẩu, giúp tăng cường đáng kể tính an toàn cho kết nối. Một SSH Keygen luôn bao gồm hai thành phần:
- Khóa công khai (Public Key): Là một tệp văn bản chứa thông tin mã hóa được thiết kế để chia sẻ và lưu trữ an toàn trên máy chủ SSH. Nhiệm vụ của khóa này là kiểm tra và xác nhận tính hợp lệ của khóa riêng tư tương ứng khi người dùng thực hiện kết nối.
- Khóa riêng tư (Private Key): Ngược lại, khóa riêng tư là thành phần tuyệt mật, chứa thông tin mã hóa duy nhất và phải được lưu trữ cẩn thận trên máy tính cá nhân của người dùng.
Khi triển khai phương thức xác thực này, người dùng sẽ không cần phải nhập mật khẩu mỗi khi thực hiện kết nối. Việc này giúp loại bỏ hoàn toàn các rủi ro liên quan đến mật khẩu yếu, bị đánh cắp hoặc bị tấn công dò mật khẩu, mang lại một lớp bảo vệ vượt trội so với phương pháp xác thực thông thường.

Việc sở hữu SSH Key là bước đầu tiên để quản lý máy chủ một cách an toàn. Bước tiếp theo là bạn cần lựa chọn một nền tảng phù hợp để có thể khai thác tối đa tiềm năng của các dự án đòi hỏi hiệu năng cao. Dịch vụ VPS AMD của Vietnix có nền tảng được xây dựng trên sức mạnh xử lý của CPU AMD EPYC 7773X và tốc độ truy xuất từ ổ cứng NVMe Enterprise, đảm bảo hiệu suất vượt trội. Bên cạnh đó người dùng còn được hỗ trợ kỹ thuật 24/7 và chính sách hoàn tiền trong 30 ngày. Liên hệ ngay để được tư vấn chi tiết!

Khám phá dịch vụ vps amd tại vietnix ngay!
Máy chủ luôn ổn định, kiểm soát và quản trị hoàn toàn VPS!
Cơ chế hoạt động của xác thực bằng cặp khóa
1. Nguyên tắc xác thực
Cơ chế xác thực bằng SSH Key vận hành dựa trên nguyên tắc mật mã hóa bất đối xứng. Theo đó, một thông điệp được mã hóa bằng khóa công khai chỉ có thể được giải mã bởi khóa riêng tư tương ứng và ngược lại.
2. Quá trình kiểm tra
Khi người dùng (client) muốn kết nối đến máy chủ, máy khách sẽ gửi yêu cầu kèm theo chữ ký số được tạo ra từ Khóa riêng tư. Máy chủ, vốn đã lưu trữ sẵn khóa công khai tương ứng, sẽ sử dụng khóa này để giải mã và xác thực chữ ký. Nếu hai khóa khớp với nhau một cách hoàn hảo, kết nối sẽ được cấp phép mà không cần mật khẩu.

Lưu ý
Bất kỳ ai có được tệp khóa này đều sẽ có toàn quyền truy cập vào máy chủ. Do đó, việc lưu trữ và bảo mật tệp khóa riêng tư là yêu cầu bắt buộc đối với người dùng.
Chuẩn bị môi trường trước khi tạo SSH Key
- Kiểm tra khóa hiện có: Trước khi tạo SSH key, bạn nên kiểm tra xem trên máy đã tồn tại cặp khóa SSH nào chưa. Việc này giúp tránh ghi đè lên các khóa đang được sử dụng cho các dịch vụ khác.
- Mở giao diện dòng lệnh: Để bắt đầu, bạn hãy mở ứng dụng dòng lệnh phù hợp với hệ điều hành của bạn:
- Linux/macOS: Mở ứng dụng Terminal.
- Windows: Mở Git Bash (khuyến nghị khi làm việc với Git) hoặc Command Prompt (cmd) / PowerShell.

Hướng dẫn chi tiết tạo SSH Key
1. Tạo một RSA Key Pair
Đầu tiên, bạn hãy tạo một key pair trên máy client (có thể là máy tính riêng):
ssh-keygen -t rsa2. Lưu trữ key và passphrase
Khi nhập lệnh Gen Key, bạn sẽ nhận được một số câu hỏi:
Enter file in which to save the key (/home/demo/.ssh/id_rsa):Bạn nhấn Enter, lưu file vào user home (trong bài viết này sẽ sử dụng tên của user là demo để làm mẫu).
Enter passphrase (empty for no passphrase):Passphrase được sử dụng hay không thì tùy thuộc vào người dùng. Việc sử dụng passphrase mang lại lợi ích là tính bảo mật của key không bao giờ được hiển thị với bất kỳ ai khác, cho dù nó được mã hóa như thế nào. Nếu private key được bảo vệ bằng passphrase rơi vào tay user trái phép, họ sẽ không thể đăng nhập vào các tài khoản cho đến khi tìm ra được passphrase. Tất nhiên, nhược điểm duy nhất của passphrase là phải nhập nó mỗi khi sử dụng key pair. Toàn bộ quá trình tạo key sẽ như sau:
ssh-keygen -t rsaOutput
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 @a
The key's randomart image is:
+--[ RSA 2048]----+
| .oo. |
| . o.E |
| + . o |
| . = = . |
| = S = . |
| o + = + |
| . o + o . |
| . o |
| |
+-----------------+Public key hiện nằm trong /home/demo/.ssh/id_rsa.pub. Private key (identification) hiện nằm trong /home/demo/.ssh/id_rsa.
3. Sao chép Public Key
Khi key pair đã được tạo, bạn hãy đặt public key trên server mà mình muốn sử dụng. Tiếp theo, bạn sao chép public key vào file authorized_keys của máy bằng lệnh ssh-copy-id và đảm bảo thay thế username và địa chỉ IP như mẫu bên dưới.
ssh-copy-id demo@198.51.100.0Nếu sử dụng Mac, ssh-copy-id sẽ không được cài đặt trên hệ thống. Tuy nhiên bạn có thể cài đặt bằng Homebrew:
brew install ssh-copy-idNgoài ra, bạn có thể dán các key bằng SSH:
cat ~/.ssh/id_rsa.pub | ssh demo@198.51.100.0 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"Cho dù chọn sử dụng lệnh nào thì các dòng sau sẽ vẫn hiển thị:
The authenticity of host '198.51.100.0 (198.51.100.0)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '198.51.100.0' (RSA) to the list of known hosts.
user@198.51.100.0's password:Thông báo này đảm bảo rằng không có extra key nào được thêm vô. Bây giờ bạn hãy tiếp tục và đăng nhập vào user profile mà không cần phải nhập mật khẩu. Tuy nhiên, nếu bạn đặt passphrase khi tạo SSH key, sẽ có yêu cầu nhập passphrase tại thời điểm đó (cũng như cho mọi lần đăng nhập kế tiếp).
4. Vô hiệu hóa mật khẩu cho root login
Khi đã sao chép các SSH Key vào server của mình và đảm bảo rằng có thể đăng nhập bằng SSH Key, bạn hãy hạn chế root login thành chỉ có thể đăng nhập thông qua SSH Key. Để thực hiện việc này, bạn mở file SSH config:
sudo nano /etc/ssh/sshd_configTrong file đó, bạn hãy tìm dòng PermitRootLogin và sửa đổi nó như bên dưới để đảm bảo rằng user chỉ có thể sử dụng SSH Key:
/etc/ssh/sshd_config
PermitRootLogin without-passwordBạn lưu và đóng file khi đã hoàn tất. Để lưu những thay đổi này, bạn dùng lệnh sau:
sudo systemctl reload sshd.serviceKích hoạt SSH Key Windows 10 bằng OpenSSH Client
1. Kiểm tra OpenSSH Client được cài đặt chưa
Đầu tiên, bạn kiểm tra xem bạn đã cài đặt OpenSSH client chưa:
1. Bạn tiến hành mở panel Settings, nhấp vào Apps.
2. Dưới heading Apps and Features, bạn click vào Optional Features.

3. Bạn lướt xuống list để tìm xem OpenSSH Client được liệt kê chưa:
- Nếu chưa, bạn click vào dấu + bên cạnh Add a feature.
- Tiếp theo, bạn trượt xuống dưới danh sách để tìm và chọn OpenSSH Client.
- Cuối cùng, bạn nhấp vào Install.

2. Mở Command Prompt
Bạn nhấp vào Windows key > Nhập cmd. Dưới phần Best Match, bạn nhấn chuột phải vào Command Prompt. Sau đó bạn tiến hành nhấn vào Run as Administrator.

Nếu được thông báo, bạn chọn Yes ở trong phần pop-up Do you want to allow this app to make changes to your device?
3. Sử dụng OpenSSH để tạo SSH Key Pair
1. Trong command prompt, bạn nhập:
ssh-keygen2. Theo mặc định, hệ thống sẽ lưu key vào C:\Users\your_username\.ssh\id_rsa. Bạn có thể sử dụng tên mặc định, hoặc chọn các tên khác theo ý mình. Việc này có thể giúp phân biệt các key khác nhau, nếu bạn dùng nhiều key pair. Để lựa chọn các tùy chọn mặc định, bạn chọn Enter:

Lưu ý
Nếu file có tên tương tự đã tồn tại, bạn sẽ được hỏi xem có muốn ghi đè file đó không.
3. Sau đó bạn sẽ được yêu cầu enter a passphrase, bạn nhấn Enter để bỏ qua bước này. Hệ thống sẽ kích hoạt key pair, rồi hiển thị key fingerprint và một randomart image. Bạn mở file browser của mình. Tiếp theo, bạn điều hướng đến C:\Users\your_username\.ssh. Bạn sẽ thấy có hai file, nhận dạng sẽ được lưu trong file id_rsa và public key được gắn nhãn id_rsa.pub. Đây chính là SSH key pair của bạn.

Lưu ý
Thông thường, public key sẽ được xác định bằng phần mở rộng .pub. Bạn có thể sử dụng Notepad để xem nội dung của private và public key.
Kích hoạt SSH Key Windows 10 bằng PuTTY
1. Cài đặt PuTTY
1. Bạn đi đến trang của developer, download trình cài đặt PuTTY tại:
- https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
2. Tiếp theo, bạn nháy đúp chuột vào file đã download, rồi làm theo trình cài đặt wizard để cấu hình, trừ khi bạn có nhu cầu cụ thể để thay đổi. Sau đó bạn click vào Next rồi đi đến màn hình tiếp theo.

3. Bạn chọn cài đặt product features PuTTY, sau đó chọn các cài đặt mặc định nếu bạn không có nhu cầu khác. Tiếp đến, bạn click vào Next để sang màn hình tiếp theo.

4. Khi quá trình hoàn tất, bạn chọn Finish để thoát trình cài đặt wizard.
2. Chạy PuTTY SSH Key Generator
- Bạn nhấp vào Windows key.
- Tiếp theo, bạn nhập vào puttygen.
- Dưới phần Best Match, bạn nhấp chuột phải vào PuTTYgen.
- Sau đó bạn click Run as administrator.
- Nếu được thông báo, bạn click Yes trên pop-up Do you want to allow this app to make changes to your device?
3. Sử dụng PuTTY để tạo SSH Key Pair
Quá trình dưới đây sẽ kích hoạt key RSA, một loại thuật toán mã hoá cổ điển và được sử dụng rộng rãi. Ngoài ra, công cụ keygen PuTTY cũng cung cấp một số thuật toán khác như – DSA, ECDSA, Ed22519, SSH-1 (RSA). Nếu bạn yêu cầu một thuật toán mã hóa khác, hãy tùy chọn thuật toán mong muốn trong heading Parameters trước khi kích hoạt key pair.
1. Trong cửa sổ PuTTY Key Generator, bạn click vào Generate. Tiếp theo, bạn di chuyển con chuột quanh các box xám để lấp đầy thanh màu xanh.

2. Bạn tiến hành lưu lại public key:
- Bạn click vào nút có nhãn Save public key.
- Tiếp theo, bạn chọn một địa điểm để lưu key.
- Cuối cùng, bạn đặt tên key (ví dụ như putty_key.pub)

3. Cuối cùng, bạn lưu lại private key:
- Bạn nhấp vào menu Conversions ở phía trên > Chọn Export OpenSSH Key
- Bạn sẽ được yêu cầu xem có muốn lưu key mà không có passphrase không, lúc này bạn chọn Yes.
- Bạn chọn địa điểm lưu key (thường là cùng folder với public key). Cuối cùng, bạn đặt tên key (ví dụ: putty_key).
Vietnix – Nhà cung cấp dịch vụ hosting, VPS tốc độ cao, bảo mật tốt
Vietnix là một trong những nhà cung cấp hạ tầng lưu trữ hàng đầu tại Việt Nam, mang đến hệ sinh thái dịch vụ toàn diện gồm premium hosting, thuê máy chủ ảo và Enterprise Cloud đáp ứng nhu cầu từ cá nhân đến doanh nghiệp. Với nền tảng phần cứng hiện đại sử dụng CPU AMD EPYC và ổ cứng NVMe Enterprise, Vietnix đảm bảo hiệu năng vượt trội, tốc độ truy xuất dữ liệu nhanh và độ ổn định cao. Bên cạnh đó, đội ngũ kỹ thuật hỗ trợ 24/7 giúp khách hàng yên tâm vận hành hệ thống. Liên hệ ngay để được tư vấn dịch vụ phù hợp!
Thông tin liên hệ:
- Website: https://vietnix.vn/
- Hotline: 1800 1093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh
Câu hỏi thường gặp
Cơ chế xác thực bằng SSH Key hoạt động như thế nào?
Cơ chế xác thực bằng SSH Key dựa trên mã hóa bất đối xứng. Khi bạn tạo SSH key trên máy tính (hoặc tạo SSH key trên Windows), hệ thống sẽ sinh ra hai tệp: Private Key và Public Key. Khi người dùng gửi yêu cầu truy cập, máy khách sẽ dùng Private Key để tạo chữ ký số và gửi đến máy chủ. Máy chủ sử dụng Public Key đã lưu sẵn để kiểm tra.
Nếu hai khóa trùng khớp, người dùng được cấp phép truy cập mà không cần mật khẩu. Đây là cách tạo SSH key và xác thực bảo mật phổ biến nhất, giúp ngăn chặn rủi ro dò mật khẩu hay xâm nhập trái phép.
Làm thế nào để sao chép Public Key lên máy chủ?
Sau khi tạo SSH key thành công, người dùng có thể sử dụng lệnh ssh-copy-id hoặc mở file .pub để sao chép nội dung khóa công khai vào file authorized_keys trên server.
Đây là bước quan trọng trong quá trình add SSH key, tức là thêm khóa công khai vào máy chủ để thiết lập quyền truy cập an toàn. Khi hoàn tất, bạn có thể đăng nhập mà không cần mật khẩu, chỉ bằng SSH key vừa tạo.
Vì sao cần vô hiệu hóa đăng nhập bằng mật khẩu cho root?
Việc vô hiệu hóa đăng nhập root bằng mật khẩu và chỉ cho phép xác thực qua SSH Key giúp tránh mọi nguy cơ bị dò mật khẩu, bảo vệ tuyệt đối quyền truy cập quan trọng nhất trên máy chủ. Người dùng cần chỉnh sửa cấu hình SSH, áp dụng thay đổi để tăng mức độ an toàn tổng thể.
Qua những giải đáp chi tiết về SSH Key, hy vọng bạn đã hiểu rõ vai trò quan trọng của việc xác thực bảo mật khi quản lý máy chủ từ xa, nắm vững cơ chế hoạt động của SSH Key, cũng như các bước triển khai và lưu ý bảo mật cần thiết. Việc sử dụng SSH Key không chỉ tăng cường an toàn mà còn đơn giản hóa quy trình truy cập, giúp chủ động phòng ngừa nguy cơ bị tấn công, đảm bảo hệ thống VPS của bạn luôn được bảo vệ tối ưu trong môi trường số hiện đại.

















vậy vô hiệu hóa ssh keys sao nhỉ