Tạo khóa SSH (Ed25519, RSA)
Tạo cặp khóa SSH Ed25519 hoặc RSA theo định dạng OpenSSH.
Ed25519 là mặc định hiện nay: khóa ngắn mà các máy chủ SSH hiện tại, GitHub và GitLab đều chấp nhận.
Cặp khóa SSH cho phép bạn đăng nhập máy chủ và push lên GitHub hay GitLab mà không cần mật khẩu: khóa công khai đặt trên máy chủ, khóa riêng tư ở lại với bạn. Công cụ này tạo đúng các tệp mà ssh-keygen tạo ra — id_ed25519 và id_ed25519.pub, hoặc id_rsa với RSA — bằng Web Crypto của trình duyệt. Khóa được tạo trên thiết bị của bạn, không bao giờ bị tải lên hay lưu lại; công cụ miễn phí và không cần đăng ký.
Cách tạo khóa SSH
- Chọn Ed25519 (khuyến nghị), hoặc RSA cho máy chủ cũ, và thêm ghi chú như you@laptop.
- Bấm Tạo khóa SSH.
- Tải cả hai tệp vào ~/.ssh và chạy chmod 600 ~/.ssh/id_ed25519.
- Thêm dòng khóa công khai vào ~/.ssh/authorized_keys trên máy chủ hoặc vào tài khoản GitHub của bạn.
Tính năng
- Ed25519 (mặc định), RSA 3072 hoặc RSA 4096
- Tệp OpenSSH giống hệt ssh-keygen tạo: id_ed25519 và id_ed25519.pub, hoặc id_rsa và id_rsa.pub
- Vân tay SHA256, giống cách ssh-keygen -l in ra
- Ghi chú tùy chọn như you@laptop; đổi ghi chú sẽ ghi lại cả hai tệp cho cùng một khóa
- Sao chép hoặc tải xuống từng tệp, kèm các bước tiếp theo và lệnh ssh-keygen để thêm cụm mật khẩu
- Tạo bằng Web Crypto có sẵn trong trình duyệt
Có riêng tư không?
Có. Web Crypto của trình duyệt tạo khóa, và khóa chỉ tồn tại trên trang này: không có gì bị tải lên hay lưu lại. Hãy tải xuống cả hai tệp trước khi rời đi hoặc tải lại trang.
Câu hỏi thường gặp
Đây có phải là khóa giống như ssh-keygen tạo không?
Đúng vậy, cùng định dạng OpenSSH. ssh-keygen -y -f id_ed25519 in ra cùng dòng khóa công khai, và ssh-keygen -l -f id_ed25519 in ra cùng vân tay hiển thị ở đây (đã kiểm tra với OpenSSH 9.6, cho cả Ed25519 và RSA).
Làm sao thêm cụm mật khẩu (passphrase)?
Khóa được tạo không có cụm mật khẩu. Sau khi lưu, hãy chạy ssh-keygen -p -f ~/.ssh/id_ed25519 và nhập cụm mật khẩu mới: ssh-keygen sẽ mã hóa tệp ngay tại chỗ.
Nên chọn Ed25519 hay RSA?
Ed25519: khóa ngắn, nhanh, và OpenSSH 6.5 trở lên, GitHub, GitLab đều chấp nhận. Để tạo nó tại đây cần Chrome 137+, Firefox 129+ hoặc Safari 17+. Chọn RSA (3072 hoặc 4096 bit) cho hệ thống cũ không chấp nhận Ed25519, hoặc khi dùng trình duyệt cũ.
Làm sao thêm khóa vào GitHub?
Sao chép dòng khóa công khai (nội dung của id_ed25519.pub) và dán vào GitHub tại Settings → SSH and GPG keys → New SSH key. Khi khóa riêng tư đã được lưu trong ~/.ssh, lệnh ssh -T git@github.com sẽ chào bạn bằng tên người dùng.
Vì sao ssh báo quyền truy cập quá rộng?
OpenSSH từ chối tệp khóa riêng tư mà người dùng khác đọc được. Hãy chạy chmod 600 ~/.ssh/id_ed25519 và giữ thư mục ~/.ssh ở chmod 700.