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:
Generate SSH Key menggunakan command ssh-keygen.
ED25519 adalah tipe key modern yang direkomendasikan.
ssh-keygen -t ed25519
Keterangan:
-t ed25519 ⇒ menggunakan algoritma ED25519.~/.ssh/id_ed25519~/.ssh/id_ed25519.pubRSA 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:
~/.ssh/authorized_keysJika 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: