Akses SSH adalah pintu utama untuk mengelola server Linux. Meski SSH key sudah lebih aman dibanding password, risiko tetap ada begitu file kunci privat bocor atau dicuri dari laptop sysadmin. Untuk menutup celah ini, kita bisa menambahkan hardware security key FIDO2/U2F seperti YubiKey buatan Yubico sebagai lapisan verifikasi kedua. Setiap login SSH pun butuh sentuhan fisik ke perangkat, sehingga penyerang (attacker) yang cuma mengantongi file kunci privat tetap tidak bisa masuk ke server.
Metode Otentikasi SSH
SSH mendukung beberapa metode otentikasi:
- Password Authentication: Metode paling sederhana, tetapi juga paling rentan terhadap brute-force attack atau pencurian password.
- Public Key Authentication: Menggunakan pasangan kunci publik dan privat. Lebih aman dibanding password, tetapi jika kunci privat bocor, akses server tetap bisa ditembus.
- Host-based Authentication: Mengandalkan kepercayaan antar host. Jarang dipakai di server publik.
- Keyboard-Interactive / Challenge-Response: Mengizinkan metode tambahan seperti OTP (One-Time Password), sehingga bisa dipadukan dengan 2FA.
Dalam praktik terbaik, sysadmin biasanya menonaktifkan password authentication dan hanya mengandalkan SSH key. Namun, menambahkan 2FA berbasis hardware token seperti YubiKey akan jauh meningkatkan lapisan keamanan.
Two-Factor Authentication
Two-Factor Authentication (2FA) adalah metode otentikasi yang menggabungkan dua lapisan verifikasi berbeda. Biasanya terdiri dari:
- Something you know → password atau passphrase.
- Something you have → perangkat fisik seperti token atau smartphone.
- Something you are → biometrik, misalnya sidik jari.
2FA memastikan bahwa meskipun kunci privat atau password bocor, penyerang (attacker) tetap tidak bisa login tanpa perangkat fisik itu, dalam kasus ini YubiKey.
YubiKey sebagai Security Key
YubiKey adalah perangkat keras buatan Yubico yang berfungsi sebagai security key untuk otentikasi multifaktor. YubiKey mendukung berbagai protokol keamanan, di antaranya:
- OTP (One-Time Password)
- FIDO2 / U2F
- PIV (Personal Identity Verification)
- OpenPGP
- Challenge-Response
Dalam konteks SSH, YubiKey berperan sebagai second factor. Setiap login SSH pun otomatis membutuhkan sentuhan fisik pada perangkat YubiKey.
Instalasi Paket FIDO2
Pastikan package OpenSSH yang terpasang sudah mendukung FIDO2, yaitu OpenSSH versi 8.2 ke atas. Di Ubuntu Server 26.04 LTS, repository resmi sudah menyediakan OpenSSH 10.2 beserta package pendukung FIDO2 seperti libfido2. Ikuti langkah berikut untuk memasang dependency-nya:
- Perbarui daftar package:
sudo apt update - Instal package pendukung FIDO2/U2F:
sudo apt install libfido2-1 libfido2-dev libu2f-udev -y - Cek versi OpenSSH yang terpasang:
Jika versi yang tampil ≥ 8.2, dukungan FIDO2 sudah tersedia.ssh -V
Konfigurasi FIDO2 untuk SSH
Colokkan YubiKey ke port USB, lalu ikuti langkah berikut untuk membuat SSH key berbasis FIDO2:
- Buat key pair baru dengan flag
-sk:
Flagssh-keygen -t ed25519-sk -C "user@server"-skmenandakan penggunaan security key (FIDO2/U2F). Sentuh YubiKey saat diminta untuk menyelesaikan pembuatan key. - Perintah di atas menghasilkan dua file: private key
id_ed25519_skdan public keyid_ed25519_sk.pub. - Salin public key ke server:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub user@IP-Server
Uji Coba Login SSH
Setelah public key tersalin ke server, coba login:
ssh -i ~/.ssh/id_ed25519_sk user@IP-ServerSysadmin akan diminta menyentuh YubiKey sebelum koneksi berhasil terbentuk. Jika YubiKey tidak tercolok, proses otentikasi otomatis gagal walau private key tersedia di disk.
Kombinasi FIDO2 dan YubiKey memberi lapisan keamanan fisik pada otentikasi SSH. Private key saja tidak cukup dipakai tanpa YubiKey tercolok, sehingga pencuri file kunci tetap tidak bisa login ke server. Metode ini lebih sederhana dibanding OTP berbasis PAM, sekaligus lebih kuat karena terintegrasi langsung dengan OpenSSH modern. Bagi sysadmin dan security engineer, kombinasi SSH berbasis FIDO2 dan disiplin manajemen key adalah langkah paling efektif untuk melindungi server Ubuntu dari akses ilegal.




