Table of Contents

Setup dan Manajemen SSH Key

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

SSH Key Overview

SSH Key digunakan untuk autentikasi ke server tanpa menggunakan password.

SSH Key terdiri dari:

Generate SSH Key

Generate SSH Key menggunakan command ssh-keygen.

Default SSH Key (ED25519)

ED25519 adalah tipe key modern yang direkomendasikan.

ssh-keygen -t ed25519

Keterangan:

RSA SSH Key

RSA digunakan untuk kompatibilitas dengan sistem lama.

ssh-keygen -t rsa -b 4096

Keterangan:

ECDSA SSH Key

ECDSA adalah algoritma berbasis elliptic curve.

ssh-keygen -t ecdsa -b 521

Keterangan:

Generate SSH Key Dengan Nama File Custom

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

Generate SSH Key Dengan Comment

Menambahkan identitas pada public key.

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

Contoh hasil:

ssh-ed25519 AAAAC3... ilyasa@hostname

Melihat SSH Public Key

Public key dapat dilihat menggunakan command:

cat ~/.ssh/id_ed25519.pub

atau:

cat ~/.ssh/id_rsa.pub

Copy SSH Public Key Ke Server

Menggunakan ssh-copy-id

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:

Copy SSH Key Dengan Port Custom

Jika SSH menggunakan port selain 22.

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

Manual Copy SSH Public Key

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

Login Menggunakan SSH Key

Gunakan private key:

ssh ilyasa@server-ip

Dengan file key custom:

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

SSH Agent

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

SSH Config File

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 SSH Key

Backup folder SSH:

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

File penting:

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

Permission SSH Key

Private key harus memiliki permission aman.

chmod 600 ~/.ssh/id_ed25519

Folder SSH:

chmod 700 ~/.ssh

Troubleshooting

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

Rekomendasi

Gunakan: