DEV Community

Nandan Ramdani
Nandan Ramdani

Posted on • Edited on

Apa Itu SSH Key? Cara Membuat SSH Key ED25519 untuk GitHub dan VPS

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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"
Enter fullscreen mode Exit fullscreen mode

Ganti email dengan email milikmu.

Contoh:

ssh-keygen -t ed25519 -C "nandan@example.com"
Enter fullscreen mode Exit fullscreen mode

Menentukan Lokasi Penyimpanan

Setelah menjalankan perintah di atas, akan muncul pertanyaan:

Enter file in which to save the key
Enter fullscreen mode Exit fullscreen mode

Tekan Enter untuk menggunakan lokasi default:

~/.ssh/id_ed25519
Enter fullscreen mode Exit fullscreen mode

Menambahkan Passphrase

Selanjutnya akan muncul pertanyaan:

Enter passphrase
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

File yang dihasilkan:

~/.ssh/id_ed25519
Enter fullscreen mode Exit fullscreen mode

Private Key (Rahasia)

~/.ssh/id_ed25519.pub
Enter fullscreen mode Exit fullscreen mode

Public Key (Boleh Dibagikan)


Melihat Public Key

Untuk melihat isi public key:

cat ~/.ssh/id_ed25519.pub
Enter fullscreen mode Exit fullscreen mode

Contoh hasil:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI...
Enter fullscreen mode Exit fullscreen mode

Salin seluruh isi output tersebut.


Menambahkan SSH Key ke GitHub

Masuk ke GitHub lalu buka:

Settings → SSH and GPG Keys
Enter fullscreen mode Exit fullscreen mode

Klik:

New SSH Key
Enter fullscreen mode Exit fullscreen mode

Kemudian:

  1. Isi judul sesuai perangkat
  2. Tempelkan public key
  3. Klik Add SSH Key

Setelah itu kamu dapat melakukan operasi Git menggunakan SSH.

Contoh:

git clone git@github.com:username/repository.git
Enter fullscreen mode Exit fullscreen mode

Menambahkan SSH Key ke VPS Linux

Login ke server lalu buka file:

~/.ssh/authorized_keys
Enter fullscreen mode Exit fullscreen mode

Tempelkan public key di dalam file tersebut.

Atau gunakan perintah berikut:

ssh-copy-id user@ip-server
Enter fullscreen mode Exit fullscreen mode

Setelah selesai, kamu bisa login tanpa password:

ssh user@ip-server
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

di file:

/etc/ssh/sshd_config
Enter fullscreen mode Exit fullscreen mode

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)