Cara mengatur otentikasi dua faktor untuk ssh di linux

Cara mengatur otentikasi dua faktor untuk ssh di linux

Secara default, Ssh Sudah menggunakan komunikasi data yang aman antara mesin jarak jauh, tetapi jika Anda ingin menambahkan beberapa lapisan keamanan ekstra ke koneksi SSH Anda, Anda dapat menambahkan Google Authenticator (Otentikasi dua faktor) modul yang memungkinkan Anda memasukkan kata sandi satu kali acak (Totp) kode verifikasi saat menghubungkan ke Ssh server. Anda harus memasukkan kode verifikasi dari Anda smartphone atau PC Saat Anda terhubung.

Itu Google Authenticator adalah modul open-source yang mencakup implementasi kode sandi satu kali (Totp) Token verifikasi dikembangkan oleh Google.

Ini mendukung beberapa platform seluler, serta PAM (Modul Otentikasi Pluggable). Kode sandi satu kali ini dihasilkan menggunakan standar terbuka yang dibuat oleh SUMPAH Inisiatif untuk otentikasi terbuka).

Di artikel ini, saya akan menunjukkan kepada Anda cara mengatur dan mengkonfigurasi Ssh Untuk otentikasi dua faktor di bawah distribusi Linux yang berbasis di Redhat dan Debian seperti Fedora, Centos Stream, Rocky Linux, dan Almalinux, Ubuntu, Debian, dan Mint.

Menginstal Google Authenticator di Linux

Buka mesin yang ingin Anda atur otentikasi dua faktor dan instal berikut ini Pam perpustakaan bersama dengan perpustakaan pengembangan yang diperlukan untuk Pam modul untuk bekerja dengan benar dengan Google Authenticator modul.

Pada sistem berbasis redhat instal 'Pam-devel'Paket menggunakan perintah yum berikut.

# yum instal Google -authenticator -y 

Pada sistem yang berbasis di Debian menginstal 'libpam0g-dev'Paket menggunakan perintah APT berikut.

$ sudo apt menginstal libpam-google-authenticator -y 

Menghasilkan token otentikasi google

Setelah Anda menjalankan 'Google-authenticator'Perintah, itu akan meminta Anda dengan serangkaian pertanyaan.

# Google-authenticator 

Cukup ketik "y"(Ya) sebagai jawaban dalam sebagian besar situasi. Jika ada yang salah, Anda dapat mengetik lagiGoogle-authenticator'Perintah untuk mengatur ulang pengaturan.

  • Apakah Anda ingin token otentikasi berbasis waktu (Y/T) y

Setelah pertanyaan ini, Anda akan mendapatkan Anda 'kunci rahasia' Dan 'Kode darurat'. Tuliskan detail ini di suatu tempat, kami akan membutuhkan 'kunci rahasia'Nanti untuk mengatur Google Authenticator aplikasi.

# Google-authenticator Apakah Anda ingin token otentikasi berbasis waktu (Y/T) y Peringatan: Menempel URL berikut ke browser Anda memperlihatkan rahasia OTP ke Google: https: // www.Google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/[email protected]%3Fsecret%3DCYZF2YF7HFGX55ZEPQYLHOO5JM%26issuer%3Dtecmint Failed to use libqrencode to show QR code visually for scanning. Pertimbangkan mengetik rahasia OTP ke dalam aplikasi Anda secara manual. Kunci rahasia baru Anda adalah: Cyzf2yf7hfgx55zepqylhom Masukkan kode dari aplikasi (-1 hingga lewati): -1 Konfirmasi kode melewatkan kode goresan darurat Anda adalah: 83714291 53083200 80975623 57217008 77496339

Selanjutnya, ikuti wizard pengaturan dan dalam kebanyakan kasus ketikkan jawabannya sebagai “y"(Ya) seperti yang ditunjukkan di bawah ini.

Apakah Anda ingin saya memperbarui "/root/.Google_Authenticator "File (Y/T) y Apakah Anda ingin melarang banyak penggunaan token otentikasi yang sama? Ini membatasi Anda untuk satu login sekitar setiap 30-an, tetapi meningkatkan peluang Anda untuk memperhatikan atau bahkan mencegah serangan manusia-di-menengah (Y/T) y Secara default, token baik selama 30 detik dan untuk mengkompensasi kemungkinan waktu-stok antara klien dan server, kami mengizinkan token tambahan sebelum dan sesudah waktu saat ini. Jika Anda mengalami masalah dengan sinkronisasi waktu yang buruk, Anda dapat meningkatkan jendela dari ukuran default 1: 30 menit menjadi sekitar 4 menit. Apakah Anda ingin melakukannya (Y/T) y Jika komputer tempat Anda masuk tidak mengeras terhadap upaya login brute-force, Anda dapat mengaktifkan pembatasan tingkat untuk modul otentikasi. Secara default, ini membatasi penyerang untuk tidak lebih dari 3 upaya login setiap 30 -an. Apakah Anda ingin mengaktifkan pembatasan tingkat (Y/T) y
Hasilkan token Google Auth

Mengkonfigurasi SSH untuk menggunakan Google Authenticator di Linux

Buka Pam file konfigurasi '/etc/pam.d/sshd'dan tambahkan baris berikut ke bagian bawah file.

auth diperlukan Pam_google_Authenticator.Jadi Nullok Auth membutuhkan Pam_permit.Jadi 
Konfigurasikan PAM untuk SSH

Selanjutnya, buka Ssh file konfigurasi '/etc/ssh/sshd_config'dan gulir ke bawah untuk menemukan garis yang mengatakan.

ChallengeresponseAuthentication no 

Ubah menjadi "Ya“. Jadi, menjadi seperti ini.

ChallengeresponseAuthentication Ya 
Konfigurasikan SSH untuk Google Auth

Akhirnya, restart Ssh Layanan untuk mengambil perubahan baru.

# Systemctl Restart SSHD atau $ SUDO SYSTEMCTL RESTART SSHD 

Mengkonfigurasi Aplikasi Google Authenticator

Luncurkan Google Authenticator Aplikasi di ponsel cerdas Anda. Tekan + dan pilih "Masukkan kunci pengaturan“. Jika Anda tidak memiliki aplikasi ini, Anda dapat mengunduh dan menginstal aplikasi Google Authenticator di Anda Android/iPhone/Blackberry perangkat.

Tambahkan akun Anda 'Nama'Dan masukkan'kunci rahasia'dihasilkan sebelumnya.

Kunci Rahasia SSH

Ini akan menghasilkan kata sandi satu kali (Kode verifikasi) Itu akan terus -menerus mengubah setiap 30 detik di ponsel Anda.

SSH Kode Auth Google

Sekarang coba masuk melalui Ssh, Anda akan diminta a Kode Google Authenticator (Kode verifikasi) Dan Kata sandi Setiap kali Anda mencoba masuk melalui Ssh. Anda hanya memiliki 30 detik Untuk memasukkan kode verifikasi ini, jika Anda melewatkannya akan meregenerasi kode verifikasi baru.

Masuk sebagai: Akses tecmint ditolak menggunakan otentikasi interaktif keyboard. Kode verifikasi: Menggunakan otentikasi interaktif keyboard. Kata Sandi: Terakhir Login: Sel 23 Apr 13:58:29 2022 Dari 172.16.25.125 [[email dilindungi] ~]#

Jika Anda tidak memiliki smartphone, Anda juga dapat menggunakan Firefox Add-on disebut authenticator untuk melakukan otentikasi dua faktor.

Penting: Otentikasi dua faktor berfungsi dengan login SSH berbasis kata sandi. Jika Anda menggunakan sesi ssh kunci pribadi/publik, itu akan mengabaikan otentikasi dua faktor dan mencatat Anda secara langsung.