Kif Twaqqaf l-Awtentikazzjoni b'żewġ Fatturi Għal SSH Fil-Linux


B'mod awtomatiku, SSH diġà juża komunikazzjoni sigura tad-dejta bejn magni remoti, imma jekk trid iżżid xi saff ta' sigurtà addizzjonali mal-konnessjonijiet SSH tiegħek, tista 'żżid modulu Google Authenticator (awtentikazzjoni b'żewġ fatturi) li jippermettilek li tidħol każwali wieħed- kodiċi ta' verifika tal-password tal-ħin (TOTP) waqt il-konnessjoni ma' servers SSH. Int ser ikollok ddaħħal il-kodiċi tal-verifika mill-ismartphone jew il-PC tiegħek meta tikkonnettja.

Il-Google Authenticator huwa modulu open-source li jinkludi implimentazzjonijiet ta’ tokens ta’ verifika ta’ passcodes ta’ darba (TOTP) żviluppati minn Google.

Jappoġġja diversi pjattaformi mobbli, kif ukoll PAM (Pluggable Authentication Module). Dawn il-passcodes ta' darba huma ġġenerati bl-użu ta' standards miftuħa maħluqa mill-Inizjattiva OATH għall-Awtentikazzjoni Miftuħa).

F'dan l-artikolu, ser nuruk kif twaqqaf u tikkonfigura SSH għal awtentikazzjoni b'żewġ fatturi taħt distribuzzjonijiet Linux ibbażati fuq Debian bħal Fedora, CentOS Stream, Rocky Linux, u AlmaLinux, Ubuntu, Debian u Mint.

Installazzjoni ta 'Google Authenticator fil-Linux

Iftaħ il-magna li trid twaqqaf awtentikazzjoni b'żewġ fatturi u installa l-libreriji PAM li ġejjin flimkien ma 'libreriji ta' żvilupp li huma meħtieġa biex il-modulu PAM jaħdem b'mod korrett mal-modulu awtentikatur Google.

Fuq sistemi bbażati fuq RedHat installa l-pakkett 'pam-devel' billi tuża l-kmand yum li ġej.

# yum install google-authenticator -y

Fuq sistemi bbażati fuq Debian installa l-pakkett 'libpam0g-dev' billi tuża l-kmand apt li ġej.

$ sudo apt install libpam-google-authenticator -y

Iġġenera Tokens ta' Awtentikazzjoni ta' Google

Ladarba inti tmexxi l-kmand 'google-authenticator', dan iġiblek serje ta 'mistoqsijiet.

# google-authenticator

Sempliċement ittajpja y (iva) bħala t-tweġiba fil-biċċa l-kbira tas-sitwazzjonijiet. Jekk xi ħaġa tmur ħażin, tista’ terġa’ ttajpja l-kmand ‘google-authenticator’ biex tirrisettja s-settings.

  • Tridu li t-tokens ta' awtentikazzjoni jkunu bbażati fuq il-ħin (s/n) y

Wara din il-mistoqsija, ikollok iċ-‘ċavetta sigrieta’ u l-‘kodiċijiet ta’ emerġenza’ tiegħek. Ikteb dawn id-dettalji x'imkien, ikollna bżonn iċ-‘ċavetta sigrieta’ aktar tard biex inwaqqfu l-app Google Authenticator.

# google-authenticator

Do you want authentication tokens to be time-based (y/n) y
Warning: pasting the following URL into your browser exposes the OTP secret to Google:
  https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/[email %3Fsecret%3DCYZF2YF7HFGX55ZEPQYLHOO5JM%26issuer%3Dtecmint
Failed to use libqrencode to show QR code visually for scanning.
Consider typing the OTP secret into your app manually.
Your new secret key is: CYZF2YF7HFGX55ZEPQYLHOM
Enter code from app (-1 to skip): -1 Code confirmation skipped Your emergency scratch codes are: 83714291 53083200 80975623 57217008 77496339

Sussegwentement, segwi l-wizard tas-setup u f'ħafna każijiet ittajpja t-tweġiba bħala y (iva) kif muri hawn taħt.

Do you want me to update your "/root/.google_authenticator" file (y/n) y Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) y If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) y

Konfigurazzjoni ta 'SSH biex Uża Google Authenticator fil-Linux

Iftaħ il-fajl tal-konfigurazzjoni PAM '/etc/pam.d/sshd' u żid il-linja li ġejja fil-qiegħ tal-fajl.

auth required pam_google_authenticator.so nullok
auth required pam_permit.so

Sussegwentement, iftaħ il-fajl tal-konfigurazzjoni SSH '/etc/ssh/sshd_config' u skrollja 'l isfel biex issib il-linja li tgħid.

ChallengeResponseAuthentication no

Ibdelha għal iva. Allura, isir bħal dan.

ChallengeResponseAuthentication yes

Fl-aħħarnett, ibda mill-ġdid is-servizz SSH biex tieħu bidliet ġodda.

# systemctl restart sshd
Or
$ sudo systemctl restart sshd

Konfigurazzjoni ta' Google Authenticator App

Niedi l-app Google Authenticator fuq l-ismartphone tiegħek. Agħfas + u agħżel Daħħal is-setup key. Jekk m'għandekx din l-app, tista' tniżżel u tinstalla l-app Google Authenticator fuq it-tagħmir Android/iPhone/Blackberry tiegħek.

Żid il-kont tiegħek Isem u daħħal iċ-ċavetta sigrieta ġġenerata qabel.

Se tiġġenera password ta' darba (kodiċi ta' verifika) li tinbidel kontinwament kull 30sec fuq it-telefon tiegħek.

Issa ipprova illoggja permezz ta' SSH, tkun imħeġġeġ b'kodiċi ta' Google Authenticator (Kodiċi ta' Verifikazzjoni) u Password kull meta tipprova tidħol permezz ta' SSH. Għandek 30 sekonda biss biex iddaħħal dan il-kodiċi ta' verifika, jekk tinsa tirriġenera kodiċi ta' verifika ġdid.

login as: tecmint
Access denied
Using keyboard-interactive authentication.
Verification code:
Using keyboard-interactive authentication.
Password:
Last login: Tue Apr 23 13:58:29 2022 from 172.16.25.125

Jekk ma jkollokx smartphone, tista 'wkoll tuża add-on ta' Firefox imsejjaħ Authenticator biex tagħmel awtentikazzjoni b'żewġ fatturi.

Importanti: L-awtentikazzjoni b'żewġ fatturi taħdem b'login SSH ibbażat fuq password. Jekk qed tuża kwalunkwe sessjoni SSH taċ-ċavetta privata/pubblika, din tinjora l-awtentikazzjoni b'żewġ fatturi u tidħol direttament.