Kā iestatīt divu faktoru autentifikāciju SSH pakalpojumā Fedora


Katru dienu, šķiet, tiek ziņots par daudziem drošības pārkāpumiem, kur mūsu dati ir apdraudēti. Neskatoties uz to, ka SSH ir drošs veids, kā attālināti izveidot savienojumu ar Linux sistēmu, tomēr nezināms lietotājs var piekļūt jūsu Linux mašīnai, ja viņš nozog jūsu SSH atslēgas, pat ja jūs atspējojat paroles vai atļaujat tikai SSH savienojumus publiskās un privātās atslēgas.

Šajā rakstā mēs paskaidrosim, kā iestatīt divu faktoru autentifikāciju (2FA) SSH Fedora Linux izplatīšanā, izmantojot Google Authenticator, lai drošāk piekļūtu attālajai Linux sistēmai, nodrošinot TOTP (The Time-based One-time Parole) numurs, ko nejauši ģenerējis autentifikācijas lietojumprogramma mobilajā ierīcē.

Ņemiet vērā, ka savai mobilajai ierīcei varat izmantot jebkuru divvirzienu autentifikācijas lietojumprogrammu, kas ir saderīga ar TOTP algoritmu. Android vai IOS ir pieejamas daudzas bezmaksas lietotnes, kas atbalsta TOTP un Google Authenticator, taču šajā rakstā kā piemērs tiek izmantots Google Authenticator.

Google autentifikatora instalēšana Fedora

Vispirms instalējiet Google Authenticator lietojumprogrammu savā Fedora serverī, izmantojot šādu komandu dnf.

$ sudo dnf install -y google-authenticator

Kad Google autentifikators ir instalēts, tagad varat palaist lietojumprogrammu.

$ google-authenticator

Pieteikums liek jums uzdot vairākus jautājumus. Šie fragmenti parāda, kā atbildēt uz pietiekami drošu iestatīšanu.

Do you want authentication tokens to be time-based (y/n) y Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y

Lietojumprogramma nodrošina slepeno atslēgu, verifikācijas kodu un atkopšanas kodus. Glabājiet šīs atslēgas drošā, drošā vietā, jo šīs atslēgas ir vienīgais veids, kā piekļūt serverim, ja pazaudējat mobilo ierīci.

Mobilā tālruņa autentifikācijas iestatīšana

Mobilajā tālrunī dodieties uz lietotņu veikalu Google Play vai iTunes, meklējiet Google Authenticator un instalējiet lietojumprogrammu.

Tagad mobilajā tālrunī atveriet lietojumprogrammu Google Authenticator un noskenējiet Fedora termināla ekrānā redzamo QR kodu. Kad QR koda skenēšana būs pabeigta, autentifikatora lietojumprogramma saņems nejauši ģenerētu numuru un izmantos šo numuru katru reizi, kad attālināti izveidosiet savienojumu ar savu Fedora serveri.

Pabeidziet Google autentifikatora konfigurāciju

Lietotne Google Authenticator liek uzdot jautājumus, un šajā piemērā parādīts, kā uz tiem atbildēt, lai iestatītu drošu konfigurāciju.

Tagad jums ir jākonfigurē SSH, lai izmantotu jauno divvirzienu autentifikāciju, kā paskaidrots tālāk.

Konfigurējiet SSH, lai izmantotu Google autentifikatoru

Lai konfigurētu SSH izmantot autentifikācijas lietojumprogrammu, vispirms jums ir jābūt darbojošam SSH savienojumam, izmantojot publiskās SSH atslēgas, jo mēs atspējosim paroles savienojumus.

Atveriet /etc/pam.d/sshd failu savā serverī.

$ sudo vi /etc/pam.d/sshd

Komentējiet failā rindiņu auth pakotnes parole-auth .

#auth       substack     password-auth

Pēc tam faila beigās ievietojiet šādu rindu.

auth sufficient pam_google_authenticator.so

Saglabājiet un aizveriet failu.

Pēc tam atveriet un rediģējiet failu/etc/ssh/sshd_config.

$ sudo vi /etc/ssh/sshd_config

Meklējiet līniju ChallengeResponseAuthentication un nomainiet to uz yes .

ChallengeResponseAuthentication yes

Meklējiet līniju PasswordAuthentication un nomainiet to uz no .

PasswordAuthentication no

Pēc tam faila beigās ievietojiet šādu rindu.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Saglabājiet un aizveriet failu un pēc tam restartējiet SSH.

$ sudo systemctl restart sshd

Divu faktoru autentifikācijas pārbaude Fedora

Tagad mēģiniet izveidot savienojumu ar serveri attālināti, un tas lūgs ievadīt verifikācijas kodu.

$ ssh [email 

Verification code:

Verifikācijas kods nejauši tiek ģenerēts jūsu mobilajā tālrunī, izmantojot autentifikācijas programmu. Tā kā ģenerētais kods mainās ik pēc dažām sekundēm, jums tas ātri jāievada, pirms tiek izveidots jauns.

Ja ievadīsit nepareizu verifikācijas kodu, nevarēsiet izveidot savienojumu ar sistēmu, un tiks parādīta kļūda par atteikto atļauju.

$ ssh [email 

Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).

Īstenojot šo vienkāršo divvirzienu autentifikāciju, jūs savai sistēmai esat pievienojis papildu drošības slāni, kā arī nezināmam lietotājam tas apgrūtina piekļuvi jūsu serverim.