cara mengatur otentikasi dua faktor di Ubuntu untuk pengguna Ubuntu menggunakan Google authenticator?

Jawaban:

16

Catatan: Setelah Anda mengaktifkan otentikasi 2-faktor untuk pengguna dan belum menetapkan yang sama untuk root, Anda tidak akan pernah bisa Login sebagai root secara langsung. Dalam kasus seperti itu, jalan keluarnya adalah dengan menggunakan pengguna sudo lain yang telah kami siapkan lalu gunakan sudo su -untuk beralih ke pengguna root.


Gunakan langkah-langkah di bawah ini untuk mengaturnya.

  1. Instal paket yang diberikan di bawah ini untuk menginstal Google authenticator yang akan kami gunakan sebagai add-on dengan otentikasi PAM:

    sudo apt-get install libpam-google-authenticator
    
  2. Sekarang edit /etc/pam.d/sshdfile ini dan tambahkan Google Authenticator seperti yang diberikan di bawah ini:

    *sudo vim /etc/pam.d/sshd
    

    masukkan di bawah ini di bagian atas file ini-

    auth required pam_google_authenticator.so
    
  3. Di sini kita harus membuat perubahan /etc/ssh/sshd_configuntuk memastikan ssh menggunakan Google Authenticator, dengan cara ini kami memastikan ssh menggunakan otentikasi dua faktor.

    vim /etc/ssh/sshd_config
    

    Dalam file ini kita harus menemukan ChallengeResponseAuthenticationdan menghapus komentar dan / atau memodifikasinya agar terlihat seperti di bawah ini (singkatnya setel ke ya: P):

    ChallengeResponseAuthentication yes
    

    Otentikasi 2-faktor tambahan atau GUI lewati ini dan lanjutkan ke langkah 4: Untuk mengaktifkannya untuk login GUI, edit /etc/pam.d/common-auth:

    sudo vim /etc/pam.d/common-auth
    

    dan sekarang tambahkan ini di auth required pam_google_authenticator.soatas baris auth [success=1 default=ignore] pam_unix.so nullok_securekemudian simpan file.

  4. Sekarang ubah ke akun tempat Anda ingin mengaturnya.
    ( Catatan: Saya akan menyarankan untuk membuat setidaknya dua akun pengguna super pada sistem terpisah dari akun root dan mengkonfigurasinya setidaknya, untuk salah satu dari mereka terlebih dahulu tetapi bukan akun root.)

    sudo su - testuser1
    
  5. Sekarang kita akan menggunakan perintah di bawah ini untuk mengatur otentikasi dua faktor untuk ini testuser1:

    google-authenticator
    
  6. Menjalankan perintah ini akan menanyakan pertanyaan di bawah ini. (jawaban yang disarankan adalah Ya)

    Apakah Anda ingin token otentikasi berbasis waktu (y / n) y

  7. Setelah itu akan ditampilkan kode QR dan Kode Awal Darurat dan beberapa detail lainnya. Out put akan terlihat seperti gambar di bawah ini:

    masukkan deskripsi gambar di sini

  8. Sekarang Anda perlu menggunakan ponsel Android / Apple / Blackberry Anda untuk mengunduh & menginstal Aplikasi Google Authenticator dari tempat pasar masing-masing misalnya Google play store. yang akan menghasilkan kode untuk Anda masuk.

    Di bawah ini adalah screenshot dari ikon aplikasi dan aplikasi yang diambil dari aplikasi ponsel Android.

    masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

  9. Mulai aplikasi di ponsel Anda dan pindai Kode QR atau gunakan kunci rahasia dan kode verifikasi yang diberikan di bawah kode QR pada sistem, yang juga dapat Anda lihat pada tangkapan layar pertama di atas.

  10. Setelah semua ini dilakukan, sangat penting untuk mencatat dan menyimpan kode awal darurat Anda di tempat yang aman, karena itu adalah kode yang dapat membantu Anda jika Anda terkunci entah bagaimana.

  11. Pada titik ini Anda harus melihat bagian bawah layar di mana ia menanyakan pertanyaan di bawah ini. (jawaban yang disarankan adalah Ya):

    Apakah Anda ingin saya memperbarui file "/home/testuser1/.google_authenticator" Anda (y / n) y

  12. Sekali lagi itu akan menanyakan satu pertanyaan lagi dan jawaban yang disarankan untuk pertanyaan di bawah ini juga Ya:

    Apakah Anda ingin melarang beberapa penggunaan token otentikasi yang sama? Ini membatasi Anda untuk satu login setiap 30-an, tetapi meningkatkan peluang Anda untuk melihat atau bahkan mencegah serangan man-in-the-middle (y / n) y

  13. Pertanyaan selanjutnya adalah seperti yang diberikan di bawah ini dan jawaban yang disarankan untuk itu adalah Tidak:

    Secara default, token baik untuk 30 detik dan untuk mengkompensasi kemungkinan kemiringan waktu antara klien dan server, kami mengizinkan token tambahan sebelum dan setelah waktu saat ini. Jika Anda mengalami masalah dengan sinkronisasi waktu yang buruk, Anda dapat meningkatkan jendela dari ukuran standarnya 1: 30 menit menjadi sekitar 4 menit. Apakah Anda ingin melakukannya (y / n) n

  14. Dan pertanyaan terakhir adalah seperti yang diberikan di bawah ini dan jawaban yang disarankan untuk itu adalah Ya:

    Jika komputer tempat Anda masuk tidak diperkeras terhadap upaya masuk dengan paksa, Anda dapat mengaktifkan pembatasan kecepatan untuk modul otentikasi. Secara default, ini membatasi penyerang tidak lebih dari 3 upaya login setiap 30-an. Apakah Anda ingin mengaktifkan pembatasan-tingkat (y / n) y

  15. Sekarang beralih keluar dari akun ini untuk kembali ke akun root:

    exit
    
  16. Sekarang restart layanan ssh

    service ssh restart
    

Sekarang, ambil saja sesi ssh untuk pengguna yang telah Anda atur dan pertama-tama akan meminta Anda untuk kode verifikasi yang dapat Anda masukkan dari ponsel Anda dan kemudian akan meminta kata sandi pengguna.

masukkan deskripsi gambar di sini

Itulah yang diperlukan untuk mengatur otentikasi dua faktor. Jangan ragu untuk meningkatkan jawaban di mana diperlukan dan permisi untuk bahasa yang tidak begitu baik.

Sayang
sumber
Ketika saya menghapusnya, ia meninggalkan masalah setiap kali saya menjalankan perintah dengan sudo: sudo: kesalahan otentikasi PAM: Modul tidak diketahui
bagustris
@bagustris Anda harus mengedit file "/etc/pam.d/common-auth" dan menghapus "auth required pam_google_authenticator.so" entri ini. Setelah Anda menghapusnya.
Jam
untuk mengedit /etc/pam.d/common-auth, perlu sudo. Karena sudo tidak berfungsi lagi, saya perlu live OS (atau dalam kasus saya, karena saya dual boot dengan Mac OS, saya dapat mengeditnya dari OS X dengan set izin yang dapat ditulisi).
bagustris
1
@ bagustris Anda dapat melakukannya dengan masuk ke mode pemulihan.
Jam
1
Akan lebih aman untuk tidak kehilangan akses ke mesin jika pada langkah 2 kita menggunakan auth optionalsebagai gantinya auth required. Kalau tidak, login tidak mungkin lagi jika sesi macet dan prosesnya belum selesai.
Pascal