Google Authenticator (2FA)
Apa itu 2FA?
2FA (Two-Factor Authentication) atau sering disebut TFA (Two-Factor Authentication) adalah metode keamanan yang membutuhkan dua langkah verifikasi sebelum seseorang bisa mengakses suatu akun atau sistem.
Bagaimana 2FA Bekerja?
Dalam sistem 2FA, pengguna harus melewati dua lapisan keamanan:
1ļøā£ Sesuatu yang Anda Ketahui ā Misalnya password atau PIN 2ļøā£ Sesuatu yang Anda Miliki ā Misalnya kode OTP dari aplikasi autentikator, SMS, atau perangkat fisik
Contoh umum: ā Saat login SSH, pengguna harus memasukkan password + kode OTP dari Google Authenticator ā Saat login akun online, selain password, harus memasukkan kode dari SMS atau aplikasi
Jenis-Jenis 2FA
Ada beberapa metode 2FA yang digunakan, antara lain:
1ļøā£ OTP (One-Time Password) ā Kode Sekali Pakai (yang digunakan saat ini)
š Menggunakan aplikasi autentikator seperti:
Google Authenticator
Authy
Microsoft Authenticator
š Cara kerja:
Setiap beberapa detik, aplikasi akan menghasilkan kode unik (OTP) yang harus dimasukkan saat login.
Kode ini hanya berlaku sekali dan dalam waktu terbatas (biasanya 30 detik).
2ļøā£ SMS / Email OTP
š Kode OTP dikirim ke nomor HP atau email pengguna. š Kurang aman dibanding aplikasi autentikator karena bisa disadap atau diretas.
3ļøā£ Hardware Token (Perangkat Fisik)
š Menggunakan perangkat fisik seperti:
YubiKey
Google Titan Security Key
š Perangkat ini harus dicolokkan ke komputer atau digunakan melalui NFC untuk otentikasi.
4ļøā£ Biometrik (Fingerprint / Face Recognition)
š Menggunakan sidik jari atau pengenalan wajah sebagai faktor kedua.
Kenapa 2FA Penting?
ā Melindungi akun dari peretasan ā Meski password bocor, akun tetap aman. ā Mencegah serangan brute force ā Hacker tidak bisa login tanpa kode OTP. ā Digunakan oleh banyak layanan keamanan tinggi ā Contoh: SSH, perbankan, email, media sosial.
Cara Memasang 2FA di SSH
Menambahkan Two-Factor Authentication (2FA) ke SSH meningkatkan keamanan dengan meminta kode OTP selain password atau SSH Key. Berikut adalah langkah-langkahnya untuk Ubuntu/Debian dan RHEL/CentOS.
1ļøā£ Instalasi Paket Google Authenticator
Di Ubuntu/Debian:
sudo apt update && sudo apt install libpam-google-authenticator -y
Di RHEL/CentOS:
sudo yum install epel-release -y
sudo yum install google-authenticator -y
2ļøā£ Mengkonfigurasi Google Authenticator
Jalankan perintah ini untuk setiap pengguna SSH:
google-authenticator
Jawab pertanyaan prompt yang muncul: ā Do you want authentication tokens to be time-based (y/n)? ā y ā Simpan secret key, QR code, dan kode pemulihan
ā ļø Jika QR Code tidak muncul - seperti ini:

Kunjungi website ini
Masukkan secret key dari authenticator

ā Do you want to update your .google_authenticator file? (y/n) ā y ā Do you want to disallow multiple uses? (y/n) ā y ā Do you want to increase the time window? (y/n) ā n ā Do you want to enable rate limiting? (y/n) ā y
š Scan QR Code dengan aplikasi seperti Google Authenticator atau Authy untuk mendapatkan kode OTP.
3ļøā£ Mengaktifkan 2FA di SSH
Edit file konfigurasi PAM:
sudo nano /etc/pam.d/sshd
Tambahkan baris ini di bagian akhir:
auth required pam_google_authenticator.so
Simpan lalu keluar (CTRL+X
, lalu Y
, lalu ENTER
).
4ļøā£ Konfigurasi SSH agar Menggunakan 2FA
Edit file konfigurasi SSH:
sudo nano /etc/ssh/sshd_config
Cari dan ubah baris berikut:
KbdInteractiveAuthentication yes
ChallengeResponseAuthentication yes
PasswordAuthentication yes
UsePAM yes
AuthenticationMethods publickey,keyboard-interactive
Simpan lalu keluar (CTRL+X
, lalu Y
, lalu ENTER
).
5ļøā£ Restart Layanan SSH
Setelah konfigurasi selesai, restart SSH agar perubahan diterapkan:
sudo systemctl restart ssh
6ļøā£ Uji Coba Login SSH dengan 2FA
Coba login ke server dari terminal lain:
ssh user@server-ip
Sekarang, setelah memasukkan password, SSH akan meminta kode OTP dari aplikasi Google Authenticator.
ā Jika berhasil login, 2FA sudah aktif! š Jika gagal login, coba cek kembali konfigurasi dan pastikan secret key sudah sesuai.
Kesimpulan
Dengan menambahkan 2FA pada SSH, kita meningkatkan keamanan login dengan kombinasi password + OTP. Ini akan menyulitkan peretas yang mencoba mengakses server meskipun mereka memiliki password atau SSH Key. š
Last updated
Was this helpful?