Apa Itu SSH Key? Cara Membuat SSH Key ED25519 untuk GitHub dan VPS
Jika kamu sering login ke server menggunakan password, mungkin sudah saatnya beralih ke SSH Key.
Selain lebih aman, SSH Key juga membuat proses login menjadi lebih cepat dan praktis karena tidak perlu memasukkan password setiap kali terhubung ke server. Teknologi ini sudah menjadi standar di dunia DevOps, cloud computing, dan software development, mulai dari GitHub, GitLab, hingga VPS Linux.
Pada artikel ini kita akan membahas apa itu SSH Key, jenis-jenisnya, cara membuat SSH Key, serta praktik terbaik dalam penggunaannya.
Apa Itu SSH Key?
SSH Key adalah metode autentikasi yang digunakan dalam protokol SSH (Secure Shell).
Berbeda dengan metode login menggunakan username dan password, SSH Key menggunakan sepasang kunci kriptografi:
- Private Key → disimpan di komputer lokal dan harus dijaga kerahasiaannya.
- Public Key → disimpan di server atau layanan yang ingin diakses.
Saat melakukan koneksi, server akan memverifikasi bahwa kamu memiliki private key yang sesuai dengan public key yang telah terdaftar.
Karena tidak mengirimkan password melalui jaringan, SSH Key dianggap lebih aman dibanding autentikasi berbasis password.
Mengapa Menggunakan SSH Key?
Beberapa keuntungan menggunakan SSH Key:
1. Lebih Aman
SSH Key jauh lebih sulit ditebak dibanding password biasa.
Bahkan jika seseorang mengetahui username server kamu, mereka tetap tidak bisa login tanpa memiliki private key yang sesuai.
2. Login Lebih Cepat
Tidak perlu mengetik password setiap kali terhubung ke server.
3. Digunakan di Banyak Layanan
SSH Key dapat digunakan untuk:
- GitHub
- GitLab
- Bitbucket
- VPS Linux
- Cloud Server
- Docker Host
- Raspberry Pi
- Server Internal Perusahaan
4. Mendukung Otomasi
SSH Key sering digunakan dalam:
- CI/CD Pipeline
- Deployment Otomatis
- Backup Otomatis
- Automation Script
Tipe-Tipe SSH Key
Saat membuat SSH Key, terdapat beberapa algoritma yang bisa digunakan.
RSA (Rivest-Shamir-Adleman)
ssh-keygen -t rsa
Kelebihan:
- Sangat kompatibel
- Didukung hampir semua sistem
Kekurangan:
- Ukuran kunci lebih besar
- Lebih lambat dibanding algoritma modern
RSA biasanya menggunakan panjang kunci:
- 2048 bit
- 4096 bit
ECDSA (Elliptic Curve Digital Signature Algorithm)
ssh-keygen -t ecdsa
Kelebihan:
- Lebih cepat dibanding RSA
- Ukuran kunci lebih kecil
Kekurangan:
- Tidak sepopuler RSA atau ED25519
- Dukungan tergantung implementasi sistem
ED25519 (Rekomendasi)
ssh-keygen -t ed25519
Kelebihan:
- Sangat cepat
- Ukuran kunci kecil
- Tingkat keamanan tinggi
- Direkomendasikan oleh OpenSSH
Kekurangan:
- Tidak didukung pada sistem yang sangat lama
Untuk penggunaan modern, ED25519 adalah pilihan terbaik.
Kapan Menggunakan RSA dan Kapan Menggunakan ED25519?
Gunakan ED25519 jika:
- Menggunakan sistem modern
- Membuat SSH Key baru
- Tidak memiliki kebutuhan kompatibilitas khusus
Gunakan RSA jika:
- Harus terhubung ke server lama
- Infrastruktur perusahaan masih menggunakan RSA
- Ada aplikasi yang belum mendukung ED25519
Dalam sebagian besar kasus saat ini, ED25519 adalah pilihan yang direkomendasikan.
Cara Membuat SSH Key di Linux, macOS, dan WSL
Buka terminal lalu jalankan perintah berikut:
ssh-keygen -t ed25519 -C "emailkamu@example.com"
Ganti email dengan email milikmu.
Contoh:
ssh-keygen -t ed25519 -C "nandan@example.com"
Menentukan Lokasi Penyimpanan
Setelah menjalankan perintah di atas, akan muncul pertanyaan:
Enter file in which to save the key
Tekan Enter untuk menggunakan lokasi default:
~/.ssh/id_ed25519
Menambahkan Passphrase
Selanjutnya akan muncul pertanyaan:
Enter passphrase
Passphrase bersifat opsional, tetapi sangat disarankan untuk keamanan tambahan.
Jika private key dicuri, passphrase dapat menjadi lapisan perlindungan tambahan.
Hasil Pembuatan SSH Key
Jika berhasil, akan muncul output seperti berikut:
Your identification has been saved in ~/.ssh/id_ed25519
Your public key has been saved in ~/.ssh/id_ed25519.pub
File yang dihasilkan:
~/.ssh/id_ed25519
Private Key (Rahasia)
~/.ssh/id_ed25519.pub
Public Key (Boleh Dibagikan)
Melihat Public Key
Untuk melihat isi public key:
cat ~/.ssh/id_ed25519.pub
Contoh hasil:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI...
Salin seluruh isi output tersebut.
Menambahkan SSH Key ke GitHub
Masuk ke GitHub lalu buka:
Settings → SSH and GPG Keys
Klik:
New SSH Key
Kemudian:
- Isi judul sesuai perangkat
- Tempelkan public key
- Klik Add SSH Key
Setelah itu kamu dapat melakukan operasi Git menggunakan SSH.
Contoh:
git clone git@github.com:username/repository.git
Menambahkan SSH Key ke VPS Linux
Login ke server lalu buka file:
~/.ssh/authorized_keys
Tempelkan public key di dalam file tersebut.
Atau gunakan perintah berikut:
ssh-copy-id user@ip-server
Setelah selesai, kamu bisa login tanpa password:
ssh user@ip-server
Best Practice Menggunakan SSH Key
Agar penggunaan SSH Key tetap aman, ikuti beberapa praktik berikut:
Gunakan ED25519
Untuk deployment baru, gunakan ED25519 sebagai standar.
Jangan Pernah Membagikan Private Key
File berikut harus tetap rahasia:
~/.ssh/id_ed25519
Jika private key bocor, segera buat key baru dan hapus key lama dari server.
Gunakan Passphrase
Passphrase memberikan perlindungan tambahan jika perangkat hilang atau dicuri.
Simpan Backup dengan Aman
Backup private key di tempat yang aman dan terenkripsi.
Nonaktifkan Login Password di Production
Jika semua administrator sudah menggunakan SSH Key, pertimbangkan menonaktifkan login password:
PasswordAuthentication no
di file:
/etc/ssh/sshd_config
Hal ini dapat mengurangi risiko serangan brute force.
Penutup
SSH Key merupakan standar autentikasi modern yang lebih aman dan nyaman dibanding login menggunakan password.
Dengan memahami perbedaan RSA, ECDSA, dan ED25519, kamu dapat memilih algoritma yang paling sesuai untuk kebutuhanmu. Untuk penggunaan baru, ED25519 menjadi pilihan yang paling direkomendasikan karena cepat, ringan, dan aman.
Jika kamu menggunakan GitHub, GitLab, VPS Linux, atau layanan cloud lainnya, menguasai SSH Key adalah salah satu skill dasar yang wajib dimiliki oleh developer dan system administrator.
Top comments (0)