Pembuatan kunci SSH (Secure Shell) dengan algoritma Ed25519 merupakan standar modern yang direkomendasikan untuk keamanan akses server yang lebih tinggi dibandingkan RSA atau ECDSA. Algoritma Ed25519 menggunakan tanda tangan digital Edwards-curve Digital Signature Algorithm yang menawarkan performa lebih cepat, ukuran kunci yang jauh lebih kecil (hanya 256-bit), namun memiliki tingkat keamanan yang setara atau bahkan melampaui kunci RSA berukuran 3072-bit.
Untuk menghasilkan pasangan kunci (public dan private key) Ed25519 di sistem operasi berbasis Unix seperti Linux atau macOS, serta Windows PowerShell, Anda cukup menjalankan utilitas bawaan ssh-keygen dengan parameter khusus tanpa perlu menentukan panjang bit tambahan karena ukurannya sudah ditetapkan secara otomatis.
Sintaks Dasar Pembuatan SSH Key Ed25519
Buka terminal atau command prompt Anda, lalu eksekusi perintah di bawah ini:
ssh-keygen -t ed25519 -C "[email protected]"
Penjelasan parameter perintah di atas:
-t ed25519: Menentukan jenis algoritma enkripsi yang digunakan, yaitu Ed25519.-C "[email protected]": Menambahkan komentar (biasanya berupa alamat email) pada kunci publik sebagai penanda kepemilikan.
Langkah-Langkah Teknis Implementasi
- Jalankan Perintah: Ketik perintah
ssh-keygen -t ed25519 -C "[email protected]"di terminal. - Tentukan Lokasi Penyimpanan: Sistem akan meminta Anda menentukan jalur direktori penyimpanan. Secara default, kunci akan disimpan di direktori
~/.ssh/id_ed25519. TekanEnteruntuk menggunakan lokasi default ini. - Masukkan Passphrase (Opsional namun Direkomendasikan): Masukkan kata sandi tambahan untuk enkripsi file private key lokal Anda. Tekan
Enterdua kali jika tidak ingin menggunakan passphrase (meskipun tidak disarankan untuk server produksi). - Verifikasi File: Periksa hasil pembuatan di direktori
~/.ssh/. Anda akan menemukan dua file baru, yaituid_ed25519(private key) danid_ed25519.pub(public key).
Tabel Perbandingan Parameter ssh-keygen
| Algoritma | Panjang Kunci (Bits) | Tingkat Keamanan | Kecepatan Proses |
|---|---|---|---|
| RSA | 2048 - 4096 | Tinggi (jika >= 3072) | Lambat |
| ECDSA | 256, 384, 521 | Tinggi | Sedang |
| Ed25519 | 256 (Tetap) | Sangat Tinggi | Sangat Cepat |
Menambahkan Kunci ke SSH Agent
Agar Anda tidak perlu memasukkan passphrase secara berulang kali saat melakukan koneksi SSH, jalankan ssh-agent di latar belakang dan daftarkan kunci Ed25519 Anda:
# Menyalakan ssh-agent
eval "$(ssh-agent -s)"
# Mendaftarkan private key Ed25519
ssh-add ~/.ssh/id_ed25519
Menyalin Kunci Publik ke Server Remote
Untuk menggunakan kunci ini saat melakukan SSH login ke server, salin isi file id_ed25519.pub ke server tujuan menggunakan utilitas ssh-copy-id:
ssh-copy-id -i ~/.ssh/id_ed25519.pub username@alamat_ip_server
Atau secara manual dengan menambahkan isi baris dari file id_ed25519.pub ke dalam file ~/.ssh/authorized_keys di server remote.
Troubleshooting Kendala Umum
Jika Anda menemui error bertuliskan "Permissions 0644 for '~/.ssh/id_ed25519' are too open" saat mencoba melakukan koneksi, hal ini disebabkan oleh hak akses file private key yang terlalu longgar. Perbaiki izin akses file tersebut menggunakan perintah chmod:
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub