system:linux:ssh:ssh-keygen

Setup dan Manajemen SSH Key

Panduan membuat SSH Key, jenis-jenis SSH Key, dan cara memasang public key ke server.

SSH Key digunakan untuk autentikasi ke server tanpa menggunakan password.

SSH Key terdiri dari:

  • Private Key : Disimpan lokal, jangan dibagikan.
  • Public Key : Dikirim ke server untuk autentikasi.

Generate SSH Key menggunakan command ssh-keygen.

ED25519 adalah tipe key modern yang direkomendasikan.

ssh-keygen -t ed25519

Keterangan:

  • -t ed25519 ⇒ menggunakan algoritma ED25519.
  • Default file:
    • Private Key : ~/.ssh/id_ed25519
    • Public Key : ~/.ssh/id_ed25519.pub

RSA digunakan untuk kompatibilitas dengan sistem lama.

ssh-keygen -t rsa -b 4096

Keterangan:

  • -t rsa ⇒ menggunakan algoritma RSA.
  • -b 4096 ⇒ ukuran key 4096 bit.

ECDSA adalah algoritma berbasis elliptic curve.

ssh-keygen -t ecdsa -b 521

Keterangan:

  • -t ecdsa ⇒ menggunakan ECDSA.
  • -b 521 ⇒ ukuran curve.

Gunakan nama file berbeda jika memiliki banyak SSH Key.

ssh-keygen -t ed25519 -f ~/.ssh/server-prod

Hasil:

~/.ssh/server-prod
~/.ssh/server-prod.pub

Menambahkan identitas pada public key.

ssh-keygen -t ed25519 -C "ilyasa@hostname"

Contoh hasil:

ssh-ed25519 AAAAC3... ilyasa@hostname

Public key dapat dilihat menggunakan command:

cat ~/.ssh/id_ed25519.pub

atau:

cat ~/.ssh/id_rsa.pub

Cara paling mudah untuk memasang public key ke server.

ssh-copy-id ilyasa@server-ip

Contoh:

ssh-copy-id ilyasa@192.168.1.10

Keterangan:

  • Public key akan ditambahkan ke:
    • ~/.ssh/authorized_keys

Jika SSH menggunakan port selain 22.

ssh-copy-id -p 2222 ilyasa@server-ip

Jika ssh-copy-id tidak tersedia.

Di client:

cat ~/.ssh/id_ed25519.pub

Copy hasil output.

Di server:

mkdir -p /home/ilyasa/.ssh

Buat folder SSH.

nano /home/ilyasa/.ssh/authorized_keys

Paste public key.

Set permission:

chmod 700 /home/ilyasa/.ssh
chmod 600 /home/ilyasa/.ssh/authorized_keys

Gunakan private key:

ssh ilyasa@server-ip

Dengan file key custom:

ssh -i ~/.ssh/server-prod ilyasa@server-ip

SSH Agent menyimpan private key di memory agar tidak perlu memasukkan passphrase berulang.

Start SSH Agent:

eval "$(ssh-agent -s)"

Tambah SSH Key:

ssh-add ~/.ssh/id_ed25519

Melihat key yang aktif:

ssh-add -l

Membuat shortcut koneksi SSH.

Edit file:

nano ~/.ssh/config

Contoh:

Host server-prod
    HostName 192.168.1.10
    User ilyasa
    IdentityFile ~/.ssh/server-prod

Login:

ssh server-prod

Backup folder SSH:

cp -r ~/.ssh ~/ssh-backup

File penting:

~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub
~/.ssh/config

Private key harus memiliki permission aman.

chmod 600 ~/.ssh/id_ed25519

Folder SSH:

chmod 700 ~/.ssh

Cek koneksi SSH dengan mode debug:

ssh -v ilyasa@server-ip

Debug lebih detail:

ssh -vvv ilyasa@server-ip

Cek authorized key server:

cat /home/ilyasa/.ssh/authorized_keys

Gunakan:

  • ED25519 ⇒ pilihan utama untuk server modern.
  • RSA 4096 ⇒ untuk kompatibilitas sistem lama.
  • Jangan pernah membagikan private key.
  • Simpan backup private key di tempat aman.
  • system/linux/ssh/ssh-keygen.txt
  • Last modified: 2026/10/02 06:03
  • by ilyasa