Cara Log Masuk Ke Desktop Linux Anda Dengan Google Authenticator
Untuk keselamatan tambahan, anda boleh meminta token pengesahan berasaskan masa serta kata laluan untuk log masuk ke PC Linux anda. Penyelesaian ini menggunakan Google Authenticator dan aplikasi TOTP lain.
Proses ini dilakukan pada Ubuntu 14.04 dengan desktop Unity standard dan LightDM login manager, tetapi prinsipnya adalah sama pada kebanyakan distribusi Linux dan desktop.
Kami sebelum ini menunjukkan kepada anda bagaimana untuk menghendaki Pengesah Google untuk akses jauh melalui SSH, dan proses ini serupa. Ini tidak memerlukan aplikasi Pengesah Google, tetapi berfungsi dengan aplikasi yang serasi yang melaksanakan skema pengesahan TOTP, termasuk Pengarang.
Pasang Google Authenticator PAM
Seperti ketika menetapkan tetapan ini untuk akses SSH, pertama kita perlu memasang perisian PAM ("modul pengesahan pluggable" yang sesuai). PAM adalah sistem yang membolehkan kami memasangkan pelbagai jenis kaedah pengesahan ke dalam sistem Linux dan memerlukannya.
Di Ubuntu, arahan berikut akan memasang Google Authenticator PAM. Buka tetingkap Terminal, ketik perintah berikut, tekan Enter, dan sediakan kata laluan anda. Sistem akan memuat turun PAM dari repositori perisian pengedaran Linux anda dan memasangnya:
sudo apt-get memasang libpam-google-authenticator
Pengedaran Linux yang lain semestinya akan mempunyai pakej ini untuk pemasangan mudah, juga - buka repositori perisian pengedaran Linux anda dan lakukan carian untuk itu. Dalam senario kes terburuk, anda boleh mencari kod sumber untuk modul PAM di GitHub dan menyusunnya sendiri.
Seperti yang telah kami katakan sebelum ini, penyelesaian ini tidak bergantung kepada "rumah panggil" ke pelayan Google. Ia melaksanakan algoritma TOTP standard dan boleh digunakan walaupun komputer anda tidak mempunyai akses Internet.
Buat Kekunci Pengesahan Anda
Anda kini perlu membuat kunci pengesahan rahsia dan memasukkannya ke aplikasi Pengesah Google (atau yang serupa) di telefon anda. Pertama, log masuk sebagai akaun pengguna anda pada sistem Linux anda. Buka tetingkap terminal dan jalankan pengesah google perintah. Taipkan y dan ikuti arahan di sini. Ini akan membuat fail khas dalam direktori akaun pengguna semasa dengan maklumat Pengesah Google.
Anda juga akan berjalan melalui proses mendapatkan kod pengesahan dua faktor itu ke Google Authenticator atau aplikasi TOTP yang serupa pada telefon pintar anda. Sistem anda boleh menghasilkan kod QR yang anda boleh mengimbas, atau anda boleh menaipnya secara manual.
Pastikan anda mencatat kod kecemasan kecemasan anda, yang boleh anda gunakan untuk log masuk jika anda kehilangan telefon anda.
Pergi melalui proses ini untuk setiap akaun pengguna yang menggunakan komputer anda. Sebagai contoh, jika anda satu-satunya orang yang menggunakan komputer anda, anda boleh melakukannya sekali sahaja pada akaun pengguna biasa anda. Sekiranya anda mempunyai orang lain yang menggunakan komputer anda, anda perlu memasukkannya ke akaun mereka sendiri dan menghasilkan kod dua faktor yang sesuai untuk akaun mereka sendiri supaya mereka dapat log masuk.
Aktifkan Pengesahan
Di sinilah perkara-perkara yang sedikit bertubuh. Apabila kami menjelaskan cara untuk membolehkan dua faktor untuk log masuk SSH, kami hanya memerlukannya untuk log masuk SSH. Ini memastikan anda masih boleh log masuk secara tempatan jika anda kehilangan aplikasi pengesahan anda atau jika ada yang salah.
Oleh kerana kami akan membolehkan pengesahan dua faktor untuk login tempatan, terdapat masalah yang berpotensi di sini. Sekiranya ada masalah, anda mungkin tidak dapat log masuk. Mengingatnya, kami akan membimbing anda untuk membolehkannya untuk log masuk grafik sahaja. Ini memberi anda sebuah menetas keluar jika anda memerlukannya.
Dayakan Google Authenticator untuk Logahan Grafik di Ubuntu
Anda sentiasa boleh mengaktifkan pengesahan dua langkah untuk hanya log masuk grafik, melangkau keperluan semasa log masuk dari prompt teks. Ini bermakna anda boleh dengan mudah bertukar ke terminal maya, log masuk ke sana, dan mengembalikan perubahan anda supaya Gogole Authenciator tidak diperlukan jika anda mengalami masalah.
Pasti, ini membuka lubang dalam sistem pengesahan anda, tetapi penyerang dengan akses fizikal ke sistem anda sudah boleh memanfaatkannya. Itulah sebabnya pengesahan dua faktor sangat berkesan untuk log masuk jauh melalui SSH.
Inilah cara untuk melakukan ini untuk Ubuntu, yang menggunakan pengurus log LightDM. Buka fail LightDM untuk menyunting dengan arahan seperti berikut:
sudo gedit /etc/pam.d/lightdm
(Ingat, langkah-langkah khusus ini hanya akan berfungsi jika pengedaran dan desktop Linux anda menggunakan pengurus log masuk LightDM.)
Tambahkan garisan berikut pada akhir fail, dan kemudian simpannya:
auth diperlukan pam_google_authenticator.so nullok
Bit "nullok" di akhir memberitahu sistem untuk membiarkan pengguna log masuk walaupun mereka tidak menjalankan arahan google-pengesah untuk menyediakan pengesahan dua faktor. Jika mereka telah menetapkannya, mereka perlu memasuki kod waktu-baesd - jika tidak, mereka tidak akan. Keluarkan "nullok" dan akaun pengguna yang belum menyiapkan kod Pengesah Google tidak akan dapat log masuk secara grafik.
Pada masa yang akan datang pengguna melog masuk secara grafik, mereka akan diminta kata laluan mereka dan kemudian diminta untuk kod pengesahan semasa yang dipaparkan pada telefon mereka. Sekiranya mereka tidak memasukkan kod pengesahan, mereka tidak dibenarkan masuk.
Proses ini sepatutnya sama untuk pengedaran dan desktop Linux yang lain, kerana kebanyakan pengurus sesi desktop Linux menggunakan PAM. Anda mungkin hanya perlu mengedit fail berbeza dengan sesuatu yang serupa dengan mengaktifkan modul PAM yang sesuai.
Jika Anda Menggunakan Penyulitan Direktori Rumah
Siaran lama Ubuntu menawarkan pilihan mudah "penyulitan folder rumah" yang menyulitkan seluruh direktori rumah anda sehingga anda memasukkan kata laluan anda. Khususnya, ini menggunakan ecryptfs. Walau bagaimanapun, kerana perisian PAM bergantung kepada fail Pengesah Google yang disimpan dalam direktori rumah anda secara lalai, penyulitan mengganggu PAM membaca fail itu kecuali anda memastikan ia tersedia dalam bentuk yang tidak diskret ke sistem sebelum anda log masuk. Rujuk README untuk lebih lanjut maklumat mengenai mengelakkan masalah ini jika anda masih menggunakan pilihan penyulitan direktori rumah yang sudah lama digunakan.
Versi moden Ubuntu menawarkan penyulitan penuh cakera, yang akan berfungsi dengan baik dengan pilihan di atas. Anda tidak perlu melakukan sesuatu yang istimewa
Bantuan, Ia Patah!
Kerana kita hanya membolehkan ini untuk log masuk grafik, ia harus mudah disable jika menyebabkan masalah. Tekan kombinasi utama seperti Ctrl + Alt + F2 untuk mengakses terminal maya dan log masuk ke sana dengan nama pengguna dan kata laluan anda. Anda boleh menggunakan perintah seperti sudo nano /etc/pam.d/lightdm untuk membuka fail untuk mengedit dalam editor teks terminal. Gunakan panduan kami untuk Nano untuk mengeluarkan garisan dan simpan fail tersebut, dan anda akan dapat log masuk semula sekali lagi.
Anda juga dapat memaksa Google Authenticator diperlukan untuk jenis log masuk lain - berpotensi bahkan semua log masuk sistem - dengan menambahkan baris "auth required pam_google_authenticator.so" ke fail konfigurasi PAM yang lain. Berhati-hati jika anda melakukan ini. Dan ingat, anda mungkin mahu menambah "nullok" supaya pengguna yang tidak melalui proses persediaan masih boleh log masuk.
Dokumentasi lanjut tentang cara menggunakan dan menyediakan modul PAM ini boleh didapati di fail README perisian di GitHub.