Ya, saya memiliki pengaturan di mana saya bisa ssh
ke server saya menggunakan otentikasi kunci publik, dengan mundur ke otentikasi dua faktor dengan kata sandi Google Authenticator + ketika kunci pribadi saya tidak tersedia. Ini adalah langkah-langkah yang dapat Anda gunakan untuk mengaturnya.
Menginstal Google Authenticator
Server saya menjalankan Ubuntu Bionic Beaver (18.04.1). Anda dapat menginstal Google Authenticator menggunakan apt
:
$ sudo apt install libpam-google-authenticator
Konfigurasi sshd
Buka /etc/pam.d/sshd
dan tambahkan baris berikut di atas:
auth optional pam_google_authenticator.so
Buka /etc/ssh/sshd_config
dan ubah satu baris. Baris yang ada adalah
ChallengeResponseAuthentication no
dan Anda harus mengubahnya ke
ChallengeResponseAuthentication yes
Mengkonfigurasi Google Authenticator untuk Akun Anda
Langkah selanjutnya adalah mengaktifkan Google Authenticator untuk akun Anda. Anda melakukan ini hanya dengan menjalankan:
$ google-authenticator
Pastikan Anda menjalankan ini sebagai pengguna yang akan membuat koneksi ssh, bukan root. Catat kunci rahasia baru Anda dan kode awal darurat Anda. Wisaya akan menanyakan beberapa pertanyaan kepada Anda untuk mengonfigurasi pengaturan keamanan untuk akun Anda.
Mengonfigurasi Aplikasi Seluler Anda
Saya menggunakan aplikasi Google Authenticator untuk iPhone. Aplikasi ini memiliki tombol [+] yang memungkinkan saya untuk menambahkan Token Berbasis Waktu baru menggunakan kunci rahasia yang saya peroleh dari google-authenticator
perintah di server saya. Itu sepele untuk diatur. Saya tidak dapat membantu Anda dengan aplikasi di platform lain, tetapi saya membayangkan prosesnya sama sederhana.
Menarik Pemicu
Hal terakhir yang perlu Anda lakukan adalah me-restart sshd
.
$ sudo /etc/init.d/ssh restart
Pada titik ini, ketika Anda mencoba untuk terhubung ke server ketika kunci pribadi Anda tersedia, otentikasi hanya berfungsi. Ketika kunci pribadi Anda tidak tersedia, Anda akan mendapatkan prompt untuk kode verifikasi, lalu kata sandi akun Anda.
Bingo, otentikasi dua faktor.