Akses SSH adalah pintu utama untuk mengelola server Linux. Walaupun SSH key sudah aman, risiko kebocoran kunci privat tetap ada. Untuk memperkuat proteksi, kita bisa memanfaatkan FIDO2/U2F hardware token seperti YubiKey. Dengan FIDO2, proses otentikasi SSH membutuhkan interaksi fisik dengan perangkat keamanan, sehingga serangan remote menjadi lebih sulit dilakukan. Artikel ini membahas metode otentikasi SSH, pengertian 2FA, YubiKey, dan cara konfigurasi YubiKey sebagai 2FA berbasis FIDO2/U2F di Ubuntu.
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 digunakan di server publik.
- Keyboard-Interactive / Challenge-Response: Mengizinkan metode tambahan seperti OTP (One-Time Password), sehingga bisa dipadukan dengan 2FA.
Dalam praktik terbaik, biasanya sysadmin menonaktifkan password authentication dan hanya menggunakan SSH key. Namun, menambahkan 2FA berbasis hardware token seperti YubiKey akan jauh meningkatkan lapisan keamanan.
Apa itu Two-Factor Authentication (2FA)?
2FA adalah metode otentikasi yang menggunakan 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.
Dengan 2FA, meskipun kunci privat atau password dicuri, penyerang tetap tidak bisa masuk tanpa perangkat fisik (dalam hal ini YubiKey).
Mengenal YubiKey
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 bisa digunakan sebagai second factor. Dengan begitu, setiap login SSH akan membutuhkan sentuhan fisik pada perangkat YubiKey.
Instalasi YubiKey di Ubuntu
Pastikan paket OpenSSH sudah mendukung FIDO2 (OpenSSH 8.2 ke atas). Lalu install paket pendukung:
sudo apt update
sudo apt install libfido2-1 libfido2-dev libu2f-udev -yCek versi OpenSSH:
ssh -VJika versi ≥ 8.2, dukungan FIDO2 sudah ada.
Konfigurasi YubiKey FIDO2 untuk SSH
Colokkan YubiKey, lalu buat kunci SSH baru:
ssh-keygen -t ed25519-sk -C "user@server"-sk→ menandakan penggunaan security key (FIDO2/U2F).- Anda akan diminta menyentuh YubiKey untuk menyelesaikan pembuatan kunci.
- Hasilnya: file privat key (
id_ed25519_sk) dan publik key (id_ed25519_sk.pub).
Salin kunci publik ke server:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub user@IP-ServerUji Coba Login SSH
Coba login:
ssh -i ~/.ssh/id_ed25519_sk user@IP-serverAnda akan diminta untuk menyentuh YubiKey sebelum koneksi berhasil.
FIDO2/U2F, YubiKey memberikan lapisan keamanan fisik pada autentikasi SSH. Kunci privat tidak bisa digunakan tanpa YubiKey, sehingga pencuri file kunci tidak akan bisa login. 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 + disiplin manajemen kunci adalah langkah terbaik untuk melindungi server Ubuntu dari ancaman akses ilegal.




