Buat pasangan kunci SSH atau RSA tanpa menginstal apa pun
Generator ini membuat pasangan kunci Ed25519, ECDSA (P-256, P-384, P-521), atau RSA (2048, 3072, 4096-bit) baru dengan Web Crypto API browser Anda dan menuliskannya dalam format yang Anda perlukan: private key OpenSSH dan baris <code>authorized_keys</code>, persis seperti yang dihasilkan <code>ssh-keygen</code>; berkas PEM PKCS#8 dan SPKI untuk OpenSSL, TLS, dan pustaka JWT; JWK publik; serta fingerprint <code>SHA256:</code>. Kunci dibuat di perangkat Anda dan private key tidak pernah meninggalkan halaman ini.
Cara membuat pasangan kunci SSH
- 1Pilih jenis kunci: Ed25519 adalah pilihan modern bawaan untuk SSH; pilih RSA untuk server lama serta untuk kunci tanda tangan PEM atau JWT.
- 2Jika perlu, isi komentar, biasanya
user@host, agar Anda bisa mengenali kunci itu nanti diauthorized_keys. - 3Tekan Buat. Unduh private key sebagai
id_ed25519(atauid_rsa,id_ecdsa) dan public key dengan nama yang sama ditambah.pub. - 4Pindahkan keduanya ke
~/.ssh/, jalankanchmod 600 ~/.ssh/id_ed25519, lalu tambahkan baris public key ke~/.ssh/authorized_keysdi server atau ke pengaturan SSH key di layanan Git Anda.
Jenis kunci mana yang sebaiknya dipilih?
- Ed25519
- Kecil (public key 68 karakter), cepat, dan tahan terhadap kesalahan implementasi. Didukung OpenSSH 6.5 ke atas, GitHub, GitLab, dan semua server saat ini. Pilihan terbaik untuk SSH sekarang.
- ECDSA (P-256, P-384, P-521)
- Kurva NIST, dibutuhkan jika aturan kepatuhan mewajibkannya atau jika Ed25519 tidak diterima, misalnya pada beberapa token perangkat keras dan layanan kunci cloud.
- RSA
- Pilihan paling kompatibel, termasuk untuk server SSH yang sangat lama dan banyak pustaka TLS serta JWT (RS256). Gunakan minimal 3072 bit untuk kunci yang akan dipakai melewati tahun 2030; 2048 adalah batas minimum yang masih dianggap layak.
Penjelasan format
- Private key OpenSSH
- <code>-----BEGIN OPENSSH PRIVATE KEY-----</code>, format bawaan yang ditulis <code>ssh-keygen</code>. Dibuat di sini tanpa enkripsi; tambahkan passphrase setelahnya dengan <code>ssh-keygen -p -f id_ed25519</code>.
- Public key OpenSSH
- Satu baris, <code>ssh-ed25519 AAAA… comment</code>, untuk <code>authorized_keys</code>, GitHub, GitLab, dan konsol cloud.
- Private key PKCS#8 (PEM)
- <code>-----BEGIN PRIVATE KEY-----</code>, wadah standar yang dibaca OpenSSL, Java, Node.js, Go, dan sebagian besar pustaka JWT untuk jenis kunci apa pun.
- Public key SPKI (PEM)
- <code>-----BEGIN PUBLIC KEY-----</code>, bentuk X.509 SubjectPublicKeyInfo yang dipakai untuk memverifikasi tanda tangan dan di pengaturan verifikasi JWT.
- JWK
- Public key dalam bentuk JSON (RFC 7517), dengan thumbprint <code>kid</code>, siap dipublikasikan di endpoint JWKS.
Fingerprint
Fingerprint adalah hash SHA-256 dari public key dalam format wire SSH, dienkode Base64 tanpa padding: SHA256:…. Inilah yang dicetak ssh-keygen -lf id_ed25519.pub, yang ditampilkan GitHub di samping setiap kunci, dan yang ditunjukkan SSH saat meminta Anda memercayai host baru. Membandingkan fingerprint adalah cara memastikan dua salinan public key memang kunci yang sama.
Apakah aman membuat kunci di browser?
Kunci berasal dari crypto.subtle.generateKey, kriptografi bawaan browser, yang mengambil data dari generator angka acak aman milik sistem operasi — sumber yang sama dengan yang dipakai ssh-keygen. Tidak ada yang dikirim lewat jaringan: Anda bisa membuka halaman ini, memutus koneksi, lalu membuat kunci secara offline.
Untuk kunci yang melindungi sistem produksi, tempat paling aman untuk membuatnya tetaplah mesin yang akan memakainya, dengan ssh-keygen -t ed25519, atau kunci perangkat keras. Alat ini ideal untuk lingkungan uji, deploy key CI, kunci tanda tangan JWT, dan mesin tanpa OpenSSH. Untuk memeriksa sertifikat yang dibangun di atas kunci seperti ini, gunakan dekoder sertifikat.
Pertanyaan yang sering diajukan
- Bagaimana cara membuat SSH key secara online?
- Pilih Ed25519, isi komentar seperti email Anda, tekan Buat, lalu unduh private key (id_ed25519) dan public key (id_ed25519.pub). Simpan keduanya di ~/.ssh dan tambahkan baris .pub ke server atau layanan Git Anda.
- Apakah Ed25519 lebih baik daripada RSA?
- Untuk SSH, ya: kunci Ed25519 jauh lebih pendek, lebih cepat dipakai, dan keamanannya sebanding dengan RSA-3072. Pilih RSA hanya untuk sistem yang tidak mendukung Ed25519.
- Kenapa Ed25519 tidak tersedia di browser saya?
- Ed25519 di Web Crypto API hadir di Firefox 129, Safari 17, dan Chrome 137. Di browser yang lebih lama, perbarui browser Anda atau pilih ECDSA atau RSA.
- Bisakah saya menambahkan passphrase ke private key?
- Kunci dibuat tanpa passphrase. Tambahkan passphrase di mesin Anda sendiri dengan ssh-keygen -p -f ~/.ssh/id_ed25519, yang langsung mengenkripsi berkas tersebut.
- Bagaimana cara mengonversi kunci ke format .ppk PuTTY?
- Buka PuTTYgen, pilih Load, pilih private key OpenSSH yang sudah Anda unduh, lalu simpan sebagai private key. PuTTYgen bisa membaca format OpenSSH secara langsung.
- Berkas mana yang dipasang di server?
- Hanya public key, yaitu satu baris dari berkas .pub, yang ditambahkan ke ~/.ssh/authorized_keys. Private key tetap di komputer Anda dan tidak boleh dibagikan.
- Kenapa SSH bilang izin private key saya terlalu terbuka?
- SSH menolak private key yang bisa dibaca pengguna lain. Jalankan chmod 600 pada berkas private key dan chmod 700 pada direktori ~/.ssh.
- Apakah kunci dikirim ke server?
- Tidak. Kunci dibuat oleh Web Crypto API browser Anda di halaman ini dan hanya ada di memori sampai Anda mengunduh atau menyalinnya.