Trình tạo khóa SSH
Tạo một cặp khóa SSH RSA ngay trong trình duyệt của bạn. Chọn kích thước khóa (2048, 3072 hoặc 4096 bit) và một ghi chú tùy chọn; công cụ sẽ xuất ra khóa riêng cùng một khóa công khai sẵn sàng dán vào ~/.ssh/authorized_keys. Mọi thứ chạy trong trình duyệt của bạn, nên không khóa nào rời khỏi thiết bị của bạn. Để có khóa Ed25519 hiện đại, hoặc để bảo vệ khóa bằng cụm mật khẩu, hãy chạy ssh-keygen trên máy của chính bạn.
Cách tạo một cặp khóa
-
1
Chọn kích thước khóa
RSA 3072 bit là lựa chọn mặc định được khuyến nghị: mạnh và tương thích mọi nơi. Loại 2048 bit nhanh hơn và vẫn được chấp nhận rộng rãi; loại 4096 bit thận trọng nhất nhưng chậm hơn.
-
2
Thêm một ghi chú
Thường là `user@host` hoặc một mô tả ngắn. Ghi chú được đính vào khóa công khai để bạn nhận ra nó trong các tệp `authorized_keys`.
-
3
Tạo cặp khóa
Khóa được tạo trong trình duyệt của bạn và không bao giờ được tải lên. Kích thước khóa lớn hơn sẽ mất thêm chút thời gian tính toán.
-
4
Sao chép hoặc tải xuống
Khóa riêng ở định dạng PEM (`-----BEGIN RSA PRIVATE KEY-----`) và khóa công khai trên một dòng (`ssh-rsa AAAA...`). Hãy giữ bí mật khóa riêng.
Chọn kích thước khóa
| Kích thước khóa | Tốc độ | Bảo mật | Dùng khi |
|---|---|---|---|
| RSA 2048 | Nhanh | Đủ dùng (tương đương 112 bit) | Bạn muốn tạo nhanh nhất |
| RSA 3072 | Vừa phải | Mạnh (tương đương 128 bit) | Lựa chọn mặc định được khuyến nghị cho đa số |
| RSA 4096 | Chậm hơn | Rất mạnh, phần lớn trường hợp là thừa | Bạn muốn một khóa thận trọng, dùng lâu dài |
Công cụ này tạo khóa RSA, loại khóa mà mọi máy chủ SSH đều chấp nhận. RSA 3072 đã tương đương độ mạnh đối xứng 128 bit, quá đủ cho việc dùng hằng ngày; loại 4096 lớn hơn và chậm tạo hơn mà không an toàn hơn đáng kể.
Bạn thích một khóa Ed25519 hiện đại? Nó ngắn hơn và nhanh hơn RSA, nhưng không được tạo ở đây. Hãy tạo một khóa trên máy của chính bạn bằng ssh-keygen -t ed25519.
Bạn nhận được gì
Công cụ xuất ra hai khối văn bản, cả hai đều được tạo trong trình duyệt của bạn:
- Khóa riêng ở định dạng PEM, bắt đầu bằng
-----BEGIN RSA PRIVATE KEY-----. Hãy giữ bí mật và đừng bao giờ chia sẻ. Khóa được tạo mà không có cụm mật khẩu; để mã hóa nó, hãy thêm một cụm mật khẩu tại máy bằngssh-keygen -p -f id_rsa. - Khóa công khai trên một dòng duy nhất, theo định dạng
authorized_keyscủa OpenSSH:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB... user@laptop
Ba trường là tên thuật toán (ssh-rsa), phần khóa mã hóa Base64 và ghi chú tùy chọn của bạn.
Mẹo quản lý khóa
- Giữ khóa riêng luôn riêng tư. Một khóa riêng dạng văn bản thuần là mất trắng nếu bị đánh cắp. Lưu nó với quyền truy cập chặt chẽ và thêm cụm mật khẩu cho bất kỳ thứ gì quan trọng.
- Mỗi mục đích một khóa. Dùng một khóa cho mỗi dịch vụ (GitHub, GitLab, production, staging) để một lần rò rỉ chỉ có phạm vi ảnh hưởng hạn chế.
- Xoay khóa khi có người rời đi. Khi ai đó nghỉ, hãy xóa khóa công khai của họ khỏi mọi tệp
authorized_keys. - Đừng bao giờ gửi khóa riêng. Chỉ chia sẻ khóa công khai. Hãy khắc cốt ghi tâm điều này.
- Sao lưu bản đã mã hóa. Mất bản sao duy nhất của một khóa có thể khiến bạn bị khóa khỏi mọi máy chủ tin cậy nó.
Khóa công khai đặt ở đâu
- Linux/Unix:
~/.ssh/authorized_keystrên máy chủ, mỗi khóa một dòng, quyền 0600 cho tệp và 0700 cho thư mục. - GitHub/GitLab/Bitbucket: phần cài đặt tài khoản, mục khóa SSH.
- AWS EC2: cặp khóa được nhập, gắn với một instance khi khởi chạy.
- Azure/GCP: cài đặt SSH của dự án hoặc instance.
Câu hỏi thường gặp
Nếu bạn tin tưởng trang này (được phục vụ qua HTTPS, từ một máy chủ bạn xác minh), thì có. Cặp khóa được tính toán trong trình duyệt của bạn và không khóa nào được tải lên bất kỳ máy chủ nào. Dù vậy, chạy ssh-keygen trên máy của chính bạn vẫn là chuẩn mực tốt nhất, vì nó loại trừ mọi nguy cơ ở tầng trình duyệt.
Không. Công cụ này chỉ tạo khóa RSA. Để có khóa Ed25519 hiện đại, hãy chạy ssh-keygen -t ed25519 trên máy của chính bạn; nó ngắn hơn và nhanh hơn RSA và được mọi máy chủ SSH hiện nay hỗ trợ.
Không hẳn. RSA 3072 đã tương đương độ mạnh đối xứng 128 bit, quá đủ. Loại 4096 chậm hơn và lớn hơn mà không an toàn hơn đáng kể, nên 3072 là lựa chọn mặc định được khuyến nghị.
Dùng ssh-copy-id user@host nếu bạn vẫn đăng nhập được bằng mật khẩu. Nếu không, hãy tự thêm khóa công khai vào ~/.ssh/authorized_keys trên máy chủ qua bảng điều khiển của nhà cung cấp đám mây hoặc một phương thức truy cập khác.
Công cụ liên quan
Mật mã số sang chữ
Chuyển số thành chữ cái và ngược lại bằng mật mã A=1, B=2 (A1Z26) cho câu đố, đố mẹo và manh mối escape room.
Trình tạo mã băm (Hash)
Tạo các giá trị băm MD5, SHA-1, SHA-256, SHA-384, SHA-512 và CRC32 từ văn bản, kèm digest sẵn sàng để sao chép cho checksum và so sánh.
Công cụ tính hash của tệp
Tính giá trị hash MD5, SHA-1, SHA-256 và SHA-512 của văn bản hoặc nội dung tệp bạn dán vào để xác minh bản tải xuống và tính toàn vẹn của tệp.
Chuyển đổi ETH sang USD
Chuyển đổi Ethereum (ETH) sang đô la Mỹ theo tỷ giá ETH/USD trực tiếp hoặc tỷ giá bạn tự nhập. Xem bất kỳ số lượng ETH nào có giá trị bằng bao nhiêu USD.
Bộ tạo HMAC
Tạo các chữ ký HMAC (SHA-256, SHA-384, SHA-512, SHA-1, MD5) từ một thông điệp và khóa bí mật nhằm phục vụ xác thực API và webhook.
Bộ mã hóa mật mã Polybius
Mã hóa chữ cái Latinh thành tọa độ Polybius hoặc giải mã các cặp cách nhau bằng lưới I/J cố định 5×5.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- SSH 鍵ジェネレーター [JA]
- SSH-nyckelgenerator [SV]
- SSH-sleutelgenerator [NL]
- مولّد مفاتيح SSH [AR]
- SSH 키 생성기 [KO]
- Pembuat Kunci SSH [ID]
- Gerador de Chaves SSH [PT]
- SSH-Schlüssel-Generator [DE]
- Generador de claves SSH [ES]
- เครื่องมือสร้างคีย์ SSH [TH]
- Générateur de clés SSH [FR]
- Generator kluczy SSH [PL]
- Генератор SSH-ключей [RU]
- SSH Anahtarı Oluşturucu [TR]
- SSH 密钥生成器 [ZH]
- SSH Key Generator [EN]
- Generatore di chiavi SSH [IT]