Cara Mengatur Otentikasi Dua Faktor untuk SSH di Fedora


Setiap hari tampaknya ada banyak pelanggaran keamanan yang dilaporkan yang membahayakan data kita. Terlepas dari kenyataan bahwa SSH adalah cara aman untuk membuat koneksi jarak jauh ke sistem Linux, namun tetap saja, pengguna yang tidak dikenal dapat memperoleh akses ke mesin Linux Anda jika mereka mencuri kunci SSH Anda, bahkan jika Anda menonaktifkan kata sandi atau hanya mengizinkan koneksi SSH melalui kunci publik dan privat.

Dalam artikel ini, kami akan menjelaskan cara menyiapkan autentikasi dua faktor (2FA) untuk SSH pada distribusi Linux Fedora menggunakan Google Authenticator untuk mengakses sistem Linux jarak jauh dengan cara yang lebih aman dengan menyediakan nomor TOTP (Kata Sandi Sekali Pakai Berbasis Waktu) yang dihasilkan secara acak oleh aplikasi pengautentikasi pada perangkat seluler.

Baca Juga: Cara Mengatur Otentikasi Dua Faktor untuk Login SSH di CentOS dan Debian

Perlu diperhatikan bahwa Anda dapat menggunakan aplikasi autentikasi dua arah apa pun untuk perangkat seluler yang kompatibel dengan algoritme TOTP. Ada banyak aplikasi gratis yang tersedia untuk Android atau iOS yang mendukung TOTP dan Google Authenticator, namun artikel ini menggunakan Google Authenticator sebagai contoh.

Memasang Google Authenticator di Fedora

Pertama, instal aplikasi Google Authenticator di server Fedora Anda menggunakan perintah dnf berikut.

sudo dnf install -y google-authenticator

Setelah Google Authenticator dipasang, kini Anda dapat menjalankan aplikasinya.

google-authenticator

Aplikasi ini meminta Anda dengan sejumlah pertanyaan. Cuplikan berikut menunjukkan kepada Anda cara menjawab penyiapan yang cukup aman.

Do you want authentication tokens to be time-based (y/n) y Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y

Aplikasi ini memberi Anda kunci rahasia, kode verifikasi, dan kode pemulihan. Simpan kunci ini di lokasi yang aman, karena kunci ini adalah satu-satunya cara untuk mengakses server Anda jika Anda kehilangan perangkat seluler.

Menyiapkan Otentikasi Ponsel

Di Ponsel Anda, buka toko aplikasi Google Play atau iTunes dan cari Google Authenticator dan instal aplikasi tersebut.

Sekarang buka aplikasi Google Authenticator di ponsel Anda dan pindai kode QR yang ditampilkan di layar terminal Fedora. Setelah pemindaian kode QR selesai, Anda akan mendapatkan nomor yang dibuat secara acak oleh aplikasi pengautentikasi dan menggunakan nomor ini setiap kali Anda terhubung ke server Fedora Anda dari jarak jauh.

Selesaikan Konfigurasi Google Authenticator

Aplikasi Google Authenticator memunculkan pertanyaan lebih lanjut dan contoh berikut menunjukkan cara menjawabnya untuk menyiapkan konfigurasi aman.

Sekarang Anda perlu mengkonfigurasi SSH untuk menggunakan otentikasi dua arah yang baru seperti yang dijelaskan di bawah.

Konfigurasikan SSH untuk Menggunakan Google Authenticator

Untuk mengonfigurasi SSH agar menggunakan aplikasi authenticator, pertama-tama Anda harus memiliki koneksi SSH yang berfungsi menggunakan kunci SSH publik, karena kami akan menonaktifkan koneksi kata sandi.

Buka file /etc/pam.d/sshd di server Anda.

sudo vi /etc/pam.d/sshd

Beri komentar pada baris auth substack password-auth di file.

#auth       substack     password-auth

Selanjutnya, letakkan baris berikut di akhir file.

auth sufficient pam_google_authenticator.so

Simpan dan tutup file.

Selanjutnya, buka dan edit file /etc/ssh/sshd_config.

sudo vi /etc/ssh/sshd_config

Telusuri baris ChallengeResponseAuthentication dan ubah menjadi yes.

ChallengeResponseAuthentication yes

Cari baris PasswordAuthentication dan ubah menjadi no.

PasswordAuthentication no

Selanjutnya, letakkan baris berikut di akhir file.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Simpan dan tutup file, lalu mulai ulang SSH.

sudo systemctl restart sshd

Menguji Otentikasi Dua Faktor di Fedora

Sekarang coba sambungkan ke server Anda dari jarak jauh, ia akan meminta Anda memasukkan kode verifikasi.

ssh [email 

Verification code:

Kode verifikasi dihasilkan secara acak di ponsel Anda oleh aplikasi autentikator Anda. Karena kode yang dihasilkan berubah setiap beberapa detik, Anda harus memasukkannya dengan cepat sebelum membuat kode baru.

Jika Anda memasukkan kode verifikasi yang salah, Anda tidak akan dapat terhubung ke sistem, dan Anda akan mendapatkan kesalahan izin ditolak berikut.

ssh [email 

Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).
Kesimpulan

Dengan menerapkan autentikasi dua arah yang mudah ini, Anda telah menambahkan lapisan keamanan ekstra ke sistem Anda dan ini juga mempersulit pengguna tak dikenal untuk mendapatkan akses ke server Anda.