Amankan SSH Ubuntu dengan YubiKey 2FA

Amankan SSH Ubuntu dengan YubiKey 2FA

Bitnesia Linux Mar 25, 2026 71 EN

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:

  1. Password Authentication: Metode paling sederhana, tetapi juga paling rentan terhadap brute-force attack atau pencurian password.
  2. Public Key Authentication: Menggunakan pasangan kunci publik dan privat. Lebih aman dibanding password, tetapi jika kunci privat bocor, akses server tetap bisa ditembus.
  3. Host-based Authentication: Mengandalkan kepercayaan antar host. Jarang digunakan di server publik.
  4. 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 -y

Cek versi OpenSSH:

ssh -V

Jika 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-Server

Uji Coba Login SSH

Coba login:

ssh -i ~/.ssh/id_ed25519_sk user@IP-server

Anda 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.

Dukung keberlanjutan tutorial open source Bitnesia melalui link di bawah ini.

Kirim Donasi

Related Posts