Tutorial ini akan menunjukkan cara menyiapkan otentikasi dua faktor SSH di server Ubuntu 16.04 menggunakan Google Authenticator yang terkenal. Setelah Anda mengaturnya, keamanan server SSH Anda akan sangat meningkat.
Cara Kerja Google Authenticator
Otentikasi dua faktor, juga dikenal sebagai verifikasi dua langkah, mengharuskan Anda memasukkan dua informasi untuk masuk. Google Authenticator menghasilkan kata sandi satu kali menggunakan kunci rahasia bersama dan waktu saat ini. Anda tidak hanya perlu memberikan nama pengguna dan sandi yang benar, tetapi juga harus memasukkan sandi satu kali yang dibuat oleh Google Authenticator untuk masuk ke server SSH Anda.
Langkah 1:Instal dan Konfigurasikan Google Authenticator di Server Ubuntu 16.04
Masuk ke server Ubuntu Anda dan jalankan perintah berikut untuk menginstal Google Authenticator dari repositori paket default Ubuntu.
sudo apt install libpam-google-authenticator
Kemudian jalankan google-authenticator
perintah untuk membuat kunci rahasia baru di direktori home Anda.
google-authenticator
Saat ditanya “Apakah Anda ingin token autentikasi berbasis waktu?” Jawab y . Kemudian Anda akan ditampilkan kode QR yang dapat Anda pindai menggunakan Google Authenticator aplikasi seluler.
Instal aplikasi Google Authenticator melalui Google play atau Apple app store di ponsel Anda dan pindai kode QR. Kode QR mewakili kunci rahasia, yang hanya diketahui oleh server SSH Anda dan aplikasi Google Authenticator Anda. Setelah kode QR dipindai, Anda dapat melihat kata sandi satu kali enam digit di ponsel Anda. Secara default, ini berlangsung selama 30 detik.
Anda dapat melihat kunci rahasia, kode verifikasi, dan kode gores darurat di jendela terminal. Sebaiknya simpan informasi ini ke tempat yang aman untuk digunakan nanti.
Kemudian Anda dapat memasukkan y untuk menjawab semua pertanyaan yang tersisa. Ini akan memperbarui file konfigurasi Google Authenticator Anda, menonaktifkan beberapa penggunaan token autentikasi yang sama, menambah jendela waktu, dan mengaktifkan pembatasan kecepatan untuk melindungi dari upaya login paksa.
Langkah 2:Konfigurasikan SSH Daemon untuk Menggunakan Google Authenticator
Buka file konfigurasi server SSH.
sudo nano /etc/ssh/sshd_config
PAM singkatan dari modul otentikasi pluggable. Ini menyediakan cara mudah untuk memasukkan metode otentikasi yang berbeda ke dalam sistem Linux Anda. Untuk mengaktifkan Google Authenticator dengan SSH, autentikasi PAM dan Challenge-Response harus diaktifkan. Jadi temukan dua baris berikut dalam file, dan pastikan keduanya disetel ke ya .
UsePAM yes ChallengeResponseAuthentication yes
Simpan dan tutup file. Kemudian restart daemon SSH.
sudo systemctl restart ssh
Selanjutnya, edit file aturan PAM untuk daemon SSH.
sudo nano /etc/pam.d/sshd
Tambahkan entri berikut di akhir file.
auth required pam_google_authenticator.so
Simpan dan tutup file. Mulai sekarang daemon SSH akan menggunakan Google Authenticator.
Langkah 3:Uji Otentikasi Dua Faktor SSH Anda
Sekarang buka jendela terminal terpisah dan coba masuk ke server SSH Anda. Jangan tutup sesi SSH Anda saat ini. Jika terjadi kesalahan, Anda dapat memperbaikinya di sesi SSH Anda saat ini. Jika semuanya sudah diatur dengan benar, Anda akan diminta memasukkan kata sandi pengguna dan kata sandi sekali pakai.
Perhatikan juga bahwa setiap pengguna di server Ubuntu 16.04 Anda perlu menjalankan google-authenticator
perintah dan pindai kode QR untuk menggunakan autentikasi dua faktor.
Kode Goresan Darurat
Kode Awal Darurat adalah kode cadangan Anda. Jika Anda kehilangan ponsel, Anda dapat memasukkan salah satu dari lima kode gores darurat alih-alih kata sandi satu kali untuk menyelesaikan verifikasi dua langkah. Perhatikan bahwa kode ini hanya untuk sekali pakai.
Menggunakan Ponsel Kedua
Jika Anda memiliki ponsel kedua, Anda dapat menginstal aplikasi Google Authenticator di ponsel kedua Anda dan memasukkan kunci rahasia secara manual. Ini sama dengan memindai kode QR.
Jika Anda ingin mengubah kunci rahasia, cukup masuk ke server Anda dan jalankan google-authenticator
perintah lagi untuk memperbarui ~/.google_authenticator
berkas.
Sinkronisasi Waktu
Karena sandi satu kali dihitung menggunakan kunci rahasia bersama dan waktu saat ini, sebaiknya aktifkan sinkronisasi waktu NTP di server Ubuntu 16.04 Anda.
Saya harap tutorial ini membantu Anda mengatur otentikasi dua faktor SSH di server Ubuntu 16.04. Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami.