Tấn Phát Digital

RSA Key Generator - Tạo SSH Key RSA, ECDSA, Ed25519 Online

Sinh cặp khóa bằng Web Crypto ngay trong trình duyệt, xuất khóa bí mật định dạng OpenSSH hoặc PKCS#8, khóa công khai SPKI, JWK và dòng khóa SSH kèm vân tay SHA256 giống ssh-keygen.

Khóa được sinh bằng bộ tạo số ngẫu nhiên của trình duyệt trên máy bạn và không được gửi đi đâu. Dù vậy, khóa bí mật đã từng hiện trên một trang web, đi qua clipboard hay thư mục Tải về vẫn có rủi ro lộ qua tiện ích trình duyệt hoặc phần mềm đồng bộ.

Với máy chủ production, khóa ký phát hành hay khóa có giá trị lâu dài, hãy sinh trực tiếp trên máy của bạn bằng ssh-keygen hoặc openssl. Công cụ này phù hợp để học, thử nghiệm, môi trường dev và khi cần nhanh khóa JWK hoặc PEM.

Loại khóa

Ed25519 là lựa chọn được khuyên dùng cho SSH hiện nay: khóa ngắn, ký nhanh, không cần chọn độ dài. Cần trình duyệt mới (Chrome 137, Firefox 129, Safari 17 trở lên).

Thường là email hoặc tên máy, để nhận ra khóa trong authorized_keys. Chỉ gắn vào dòng khóa công khai OpenSSH.

Chọn loại khóa rồi bấm "Sinh cặp khóa". Mỗi lần bấm là một cặp khóa mới hoàn toàn.

Cần ký thử JWT bằng khóa vừa tạo? Dùng JWT Generator. Cần HMAC cho webhook thay vì khóa bất đối xứng? Thử HMAC Generator.

Hợp tác ngay với Tấn Phát Digital

Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.

Tạo SSH key RSA, ECDSA, Ed25519 ngay trên trình duyệt, đúng định dạng ssh-keygen

Cần một cặp khóa để đăng nhập máy chủ qua SSH, thêm deploy key cho GitHub, hay ký JWT bằng RS256, ES256 mà máy đang dùng không có sẵn ssh-keygen hoặc openssl? Công cụ này tạo SSH key RSA, ECDSA hoặc Ed25519 bằng Web Crypto ngay trong trình duyệt, xuất khóa bí mật định dạng OpenSSH hoặc PKCS#8, khóa công khai PEM, JWK và dòng ssh-rsa, ssh-ed25519 kèm vân tay SHA256 khớp với ssh-keygen.

Tính năng nổi bật

  • Sinh khóa RSA 2048, 3072, 4096 bit với mục đích RSASSA-PKCS1-v1_5, RSA-PSS hoặc RSA-OAEP
  • Sinh khóa ECDSA trên đường cong P-256, P-384, P-521 và Ed25519 trên trình duyệt hỗ trợ
  • Khóa bí mật định dạng OpenSSH gốc (openssh-key-v1) dùng ngay với ssh, và định dạng PKCS#8 PEM cho OpenSSL, thư viện JWT
  • Khóa công khai dạng SPKI PEM và dòng OpenSSH ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519 có chú thích
  • Vân tay SHA256 cùng định dạng với lệnh ssh-keygen -l để đối chiếu khi thêm khóa lên máy chủ
  • Xuất JWK công khai và bí mật, kèm JWK Thumbprint theo RFC 7638 dùng làm kid
  • Khóa bí mật được ẩn mặc định, tải về thành tệp đặt tên sẵn theo quy ước id_rsa, id_ed25519
  • Toàn bộ quá trình sinh khóa diễn ra trong trình duyệt, không có khóa nào được gửi đi

Khi nào nên tạo khóa trên trình duyệt, khi nào không

Cách chuẩn để tạo SSH key vẫn là chạy ssh-keygen -t ed25519 trên chính máy sẽ dùng khóa đó: khóa bí mật sinh ra tại chỗ, không đi qua bất kỳ ứng dụng nào khác. Nhưng có những lúc bạn cần nhanh một cặp khóa mà không có terminal: đang dùng máy tính công ty bị khóa quyền cài phần mềm, cần một khóa JWK để thử cấu hình JWT, cần khóa công khai PEM cho môi trường thử nghiệm, hoặc đang học cách SSH key hoạt động và muốn nhìn tận mắt các định dạng khác nhau của cùng một khóa. Công cụ này dùng Web Crypto, bộ mật mã tích hợp sẵn trong trình duyệt với nguồn số ngẫu nhiên của hệ điều hành, và không gửi khóa đi đâu. Với khóa có giá trị lâu dài như khóa đăng nhập máy chủ production hay khóa ký phát hành phần mềm, hãy vẫn tạo bằng ssh-keygen hoặc openssl trên máy của bạn.

Lợi ích khi sử dụng

  • Có SSH key dùng được ngay khi máy không có ssh-keygen hay openssl
  • Một lần sinh khóa có đủ các định dạng: OpenSSH, PEM, JWK
  • Vân tay hiển thị khớp với ssh-keygen nên dễ đối chiếu khi thêm khóa lên máy chủ
  • Hiểu rõ sự khác nhau giữa PKCS#8, SPKI, JWK và định dạng dây của SSH
  • Khóa không rời khỏi trình duyệt của bạn

Cách tạo SSH key RSA hoặc Ed25519

  1. 1Chọn loại khóa: Ed25519 cho SSH trên hệ thống mới, ECDSA khi cần tương thích chuẩn NIST, RSA khi hệ thống cũ chỉ hỗ trợ RSA hoặc cần JWT RS256.
  2. 2Với RSA, chọn độ dài khóa (3072 bit là mặc định của ssh-keygen) và mục đích dùng trong Web Crypto; với ECDSA, chọn đường cong.
  3. 3Nhập chú thích để nhận ra khóa sau này, thường là email hoặc tên máy.
  4. 4Bấm Sinh cặp khóa. Sao chép dòng khóa công khai OpenSSH để dán vào ~/.ssh/authorized_keys hoặc phần SSH keys của GitHub, GitLab.
  5. 5Tải khóa bí mật định dạng OpenSSH, lưu vào ~/.ssh, chạy chmod 600 rồi đặt passphrase bằng ssh-keygen -p -f.
  6. 6Chạy ssh-keygen -l -f với tệp .pub để kiểm tra vân tay SHA256 trùng với vân tay hiển thị trên trang.

Chọn RSA, ECDSA hay Ed25519

Ed25519 là thuật toán được khuyên dùng cho SSH hiện nay: khóa công khai chỉ 32 byte, ký và xác minh nhanh, không phải chọn độ dài, và thiết kế ít bẫy triển khai hơn ECDSA. GitHub, GitLab và OpenSSH từ bản 6.5 đều hỗ trợ. ECDSA trên P-256, P-384, P-521 phù hợp khi tổ chức yêu cầu đường cong theo chuẩn NIST, và là lựa chọn phổ biến cho JWT ES256. RSA vẫn tương thích rộng nhất, cần thiết với thiết bị mạng, hệ thống cũ hoặc dịch vụ chỉ nhận ssh-rsa; hãy dùng tối thiểu 2048 bit, ssh-keygen hiện mặc định 3072 bit. Lưu ý Ed25519 trong Web Crypto chỉ có trên trình duyệt mới (Chrome 137, Firefox 129, Safari 17 trở lên); trình duyệt cũ sẽ nhận thông báo lỗi rõ ràng thay vì sinh khóa sai.

OpenSSH, PKCS#8, SPKI, JWK: cùng một khóa, nhiều cách viết

Một cặp khóa chỉ là vài con số, nhưng mỗi phần mềm muốn nhận chúng theo cách đóng gói riêng. Khóa bí mật định dạng OpenSSH bắt đầu bằng -----BEGIN OPENSSH PRIVATE KEY----- là định dạng mặc định của ssh-keygen. PKCS#8 bắt đầu bằng -----BEGIN PRIVATE KEY----- là chuẩn chung mà OpenSSL, Node.js, Java và phần lớn thư viện JWT đọc được. Khóa công khai SPKI bắt đầu bằng -----BEGIN PUBLIC KEY----- dùng khi dịch vụ yêu cầu khóa công khai PEM. JWK là dạng JSON dùng trong JOSE, JWT và các endpoint JWKS. Dòng ssh-ed25519 AAAA... là khóa công khai theo định dạng dây của SSH, mã hóa base64, đặt trong authorized_keys. Công cụ xuất đủ các dạng này từ cùng một cặp khóa.

OpenSSH có đọc được khóa PKCS#8 không

Với RSA và ECDSA thì có: OpenSSH đọc được trực tiếp tệp PKCS#8 PEM chưa mã hóa, lệnh ssh-keygen -y -f khoa.pem in ra đúng khóa công khai. Chúng tôi đã kiểm tra với OpenSSH 9.7 cho cả RSA 2048 đến 4096 bit và ECDSA P-256 đến P-521. Với Ed25519 thì bản OpenSSH đó báo invalid format khi đọc PKCS#8, nên công cụ xuất thêm khóa bí mật theo định dạng OpenSSH gốc cho mọi thuật toán, và đây là định dạng nên dùng cho SSH. Nếu đang có tệp PKCS#8 RSA hoặc ECDSA, lệnh ssh-keygen -p -f khoa.pem sẽ đặt passphrase và ghi lại tệp ở định dạng OpenSSH.

Vân tay SHA256 và cách đối chiếu

Vân tay là giá trị băm SHA-256 của khóa công khai theo định dạng dây SSH, viết dạng base64 không có dấu = ở cuối, ví dụ SHA256:gc/p8xcV3wD9F/cMEpig.... Đây chính là chuỗi ssh-keygen -l in ra, GitHub hiển thị trong trang SSH keys và máy chủ ghi vào log khi bạn đăng nhập. Sau khi tải tệp .pub, chạy ssh-keygen -l -f id_ed25519.pub: vân tay phải trùng từng ký tự với vân tay trên trang. Chúng tôi đã đối chiếu vân tay của công cụ với ssh-keygen cho cả bảy tổ hợp thuật toán và độ dài, đồng thời dùng khóa bí mật định dạng OpenSSH để ký và xác minh bằng ssh-keygen -Y.

Mục đích RSA trong Web Crypto ảnh hưởng gì

Web Crypto buộc khai báo mục đích khi sinh khóa RSA: RSASSA-PKCS1-v1_5 để ký (JWT RS256, cũng là kiểu chữ ký SSH dùng), RSA-PSS để ký kiểu PSS (JWT PS256), RSA-OAEP để mã hóa. Lựa chọn này chỉ thay đổi trường alg và key_ops trong JWK. Tệp PEM, khóa OpenSSH và vân tay không phụ thuộc lựa chọn, vì về mặt toán học vẫn là cùng một cặp số RSA với số mũ công khai 65537. Nếu chỉ cần SSH key, để mặc định là đủ.

Bảo vệ khóa bí mật sau khi tải về

Khóa bí mật tải từ trang chưa có passphrase. Việc đầu tiên nên làm là chuyển tệp vào ~/.ssh, chạy chmod 600 để chỉ tài khoản của bạn đọc được (OpenSSH từ chối khóa có quyền quá rộng), rồi chạy ssh-keygen -p -f để đặt passphrase. Xóa bản còn lại trong thư mục Tải về, đừng để tệp trong thư mục đồng bộ đám mây, đừng gửi qua chat hay email. Nếu nghi ngờ khóa đã lộ, gỡ khóa công khai khỏi authorized_keys và các dịch vụ đã thêm, rồi tạo khóa mới. Khóa công khai thì thoải mái chia sẻ, đó là phần duy nhất máy chủ cần.

Giới hạn của công cụ

Công cụ không đặt passphrase cho khóa bí mật, bạn cần tự đặt bằng ssh-keygen -p sau khi tải. Không hỗ trợ khóa gắn phần cứng như ed25519-sk dùng khóa bảo mật FIDO, không hỗ trợ DSA đã lỗi thời. Ed25519 phụ thuộc trình duyệt có hỗ trợ trong Web Crypto. Công cụ không đọc hay chuyển đổi khóa có sẵn của bạn; để xem thông tin một khóa công khai hay chứng chỉ PEM có sẵn, hãy dùng công cụ giải mã PEM. Và như đã nói, với khóa quan trọng lâu dài, ssh-keygen hoặc openssl trên máy của bạn vẫn là lựa chọn nên ưu tiên.

Câu hỏi thường gặp (FAQ)

Tạo SSH key trên trình duyệt có an toàn không?

Khóa được sinh bằng Web Crypto với nguồn ngẫu nhiên của hệ điều hành và không gửi đi đâu. Tuy vậy khóa từng hiện trên trang, đi qua clipboard hay thư mục Tải về vẫn có rủi ro lộ qua tiện ích trình duyệt hoặc phần mềm đồng bộ. Với khóa production, hãy tạo bằng ssh-keygen trên máy của bạn.

Nên chọn RSA hay Ed25519 cho SSH?

Ed25519 nếu hệ thống hỗ trợ: khóa ngắn, nhanh, an toàn. Chọn RSA 3072 hoặc 4096 bit khi phải làm việc với thiết bị hoặc dịch vụ cũ chỉ nhận ssh-rsa.

RSA 2048 bit còn đủ an toàn không?

2048 bit vẫn được xem là mức tối thiểu chấp nhận được hiện nay. ssh-keygen mặc định 3072 bit, và 3072 hoặc 4096 bit phù hợp hơn cho khóa dùng nhiều năm.

Dán khóa nào lên GitHub?

Dán dòng khóa công khai OpenSSH bắt đầu bằng ssh-ed25519, ecdsa-sha2-nistp256 hoặc ssh-rsa vào mục SSH and GPG keys. Không bao giờ dán khóa bí mật.

Vì sao có hai định dạng khóa bí mật?

Định dạng OpenSSH dùng cho ssh, giống tệp ssh-keygen tạo ra. PKCS#8 PEM dùng cho OpenSSL, Node.js, Java và thư viện JWT. Cả hai chứa cùng một khóa.

OpenSSH có dùng được tệp PKCS#8 không?

Với RSA và ECDSA thì được, đã kiểm tra với OpenSSH 9.7. Với Ed25519 thì bản OpenSSH đó không đọc được PKCS#8, nên hãy dùng định dạng OpenSSH mà công cụ xuất sẵn.

Làm sao đặt passphrase cho khóa vừa tải?

Chạy ssh-keygen -p -f ~/.ssh/id_ed25519, để trống passphrase cũ và nhập passphrase mới hai lần.

Vì sao ssh báo lỗi UNPROTECTED PRIVATE KEY FILE?

Tệp khóa bí mật có quyền đọc quá rộng. Chạy chmod 600 với tệp đó rồi thử lại.

Vân tay SHA256 dùng để làm gì?

Để xác nhận hai nơi đang nói về cùng một khóa. Chạy ssh-keygen -l -f với tệp .pub và so với vân tay trên trang hoặc trong danh sách SSH keys của GitHub.

Chú thích trong khóa SSH có ảnh hưởng gì không?

Không ảnh hưởng tới bảo mật hay việc đăng nhập, chỉ giúp bạn nhận ra khóa trong authorized_keys. Thường ghi email hoặc tên máy.

Dùng khóa này để ký JWT được không?

Được. Khóa RSA cho RS256 hoặc PS256, ECDSA P-256 cho ES256, P-384 cho ES384, P-521 cho ES512. Dùng tệp PKCS#8 PEM hoặc JWK bí mật để ký, và khóa công khai PEM hoặc JWK để xác minh.

JWK Thumbprint là gì?

Là giá trị băm SHA-256 của các trường bắt buộc trong JWK công khai theo RFC 7638, thường dùng làm kid để nhận diện khóa trong một tập JWKS.

Công cụ có lưu khóa của tôi không?

Không. Khóa chỉ nằm trong bộ nhớ của tab trình duyệt và mất khi bạn tải lại trang hoặc sinh cặp khóa mới.

Từ khóa liên quan

  • tạo ssh key rsa
  • tạo ssh key online
  • rsa key generator
  • ssh key generator
  • tạo khóa ed25519
  • ssh-keygen online
  • tạo cặp khóa rsa
  • rsa public key private key
  • tạo khóa ecdsa
  • pem private key
  • pkcs8 private key
  • openssh private key
  • ssh-rsa public key
  • ssh key github
  • authorized_keys
  • ssh fingerprint sha256
  • jwk generator
  • rs256 key pair
  • tạo khóa jwt
  • web crypto generate key

Công cụ Security Tools liên quan

2FA Generator

Công cụ 2FA Generator online free tạo mã xác thực 2 bước cho Google Authenticator, Twitter, Facebook, Hotmail. Lấy mã 2FA live khi quên, bảo mật 100%, không cần đăng ký.

Lấy Mã 2FA Facebook

Công cụ lấy mã 2FA Facebook online miễn phí khi quên. Tạo mã 2FA live cho Facebook, Instagram, hỗ trợ Google Authenticator. Khôi phục tài khoản Facebook nhanh chóng, bảo mật 100%.

Lấy Mã 2FA Twitter/X

Công cụ lấy mã 2FA Twitter/X online miễn phí khi quên. Tạo mã 2FA live cho Twitter, hỗ trợ Google Authenticator. Khôi phục tài khoản Twitter/X nhanh chóng, bảo mật 100%.

Lấy Mã 2FA Hotmail/Outlook

Công cụ lấy mã 2FA Hotmail/Outlook online miễn phí khi quên. Tạo mã 2FA live cho Microsoft Account, Hotmail, Outlook, Office 365. Hỗ trợ Google Authenticator, khôi phục tài khoản nhanh chóng, bảo mật 100%.

File Hash Checker

Tính và so sánh SHA hash.

Password Leak Checker

Kiểm tra mật khẩu bị lộ.

Security Headers Generator

Tạo security headers.

SRI Generator

Tạo Subresource Integrity.

Password Generator - Tạo Mật Khẩu Mạnh An Toàn

Tạo mật khẩu ngẫu nhiên, an toàn và mạnh online miễn phí - Tùy chỉnh độ dài, chữ hoa/thường, số, ký tự đặc biệt. Đánh giá độ mạnh password, không lưu trữ.

Text Encryption - Mã Hóa Văn Bản

Mã hóa và giải mã văn bản online miễn phí - Hỗ trợ AES, Base64, ROT13, Caesar Cipher, XOR. Bảo vệ thông tin nhạy cảm, xử lý trên trình duyệt an toàn.

SSL Certificate Decoder - Kiểm Tra Chứng Chỉ SSL

Kiểm tra và giải mã chứng chỉ SSL của website miễn phí. Xem thời hạn, nhà phát hành, protocol TLS, key size, fingerprint. Cảnh báo SSL sắp hết hạn.

Security Headers Analyzer - Phân Tích Bảo Mật Website

Phân tích security headers của website miễn phí. Kiểm tra CSP, HSTS, X-Frame-Options, X-XSS-Protection, Referrer-Policy. Điểm bảo mật tổng thể, đề xuất cải thiện.

Dịch vụ của Tấn Phát Digital

Bảo mật không dừng ở việc kiểm tra bằng công cụ. Chúng tôi làm phần triển khai:

Gói giải pháp doanh nghiệp

Nền tảng custom cho ngân hàng, y tế và sàn B2B, chuẩn ISO 27001, GDPR, PCI-DSS, SLA 99.99%.

Từ 50.000.000đXem chi tiết →

Dịch vụ chăm sóc website định kỳ

Viết content SEO, tối ưu thứ hạng và A/B test chuyển đổi hàng tháng, cam kết KPI theo hợp đồng.

Từ 2.000.000đ/thángXem chi tiết →

Dịch vụ thiết kế website tại Hồ Chí Minh

Website doanh nghiệp, bán hàng và đặt lịch, chuẩn SEO ngay từ cấu trúc, tốc độ tải dưới 3 giây.

Từ 5.000.000đXem chi tiết →

Dịch vụ phát triển Blockchain & Web3

Smart contract, dApp và NFT marketplace đa chuỗi, audit bảo mật đầy đủ trước khi lên mainnet.

Từ 50.000.000đXem chi tiết →

Tư vấn và báo giá miễn phí trong 24 giờ. Xem toàn bộ dịch vụ

Zalo
Facebook
TAN PHAT DIGITAL
Zalo
Facebook