Paano i-configure ang dalawang factor na pagpapatotoo sa SSH sa Ubuntu?

Dalawang-kadahilanan-Pagpapatotoo

La Ang two-factor authentication (2FA) ay hindi isang kakaibang bagay na maaaring magamit sa social media o sa anumang iba pang website. Sa gayon, ang hakbang sa seguridad na ito ay maaari ring ipatupad sa loob ng isang operating system.

Ito ang dahilan Ngayon makikita natin kung paano ipatupad ang pagpapatotoo ng dalawang-kadahilanan sa SSH sa Ubuntu at mga derivatives na gumagamit ng kilalang Google Authenticator na kung saan ay madaragdagan ang seguridad ng iyong OpenSSH server.

Karaniwan, kailangan mo lamang maglagay ng isang password o gamitin ang SSH key upang mag-log in sa iyong system nang malayuan.

Ang two-factor authentication (2FA) ay nangangailangan ng dalawang piraso ng impormasyon upang maipasok upang mag-log in.

Samakatuwid, kakailanganin mo ring magpasok ng isang naka-time na isang beses na password upang mag-log in sa iyong SSH server.

Ang isang beses na password na ito ay kinakalkula gamit ang TOTP algorithm, na isang pamantayan ng IETF.

Pag-install at pagsasaayos ng Google Authenticator sa Ubuntu at mga derivatives

Ang unang hakbang na isasagawa namin ay ang pag-install ng Google Authenticator sa aming system, kaya magbubukas kami ng isang terminal sa system (magagawa ito sa key na kumbinasyon na "Ctrl + Alt + T) at dito ay i-type namin ang sumusunod na utos:

sudo apt install libpam-google-authenticator

Tapos na ang pag-install tatakbo namin ang bagong naka-install na application na may sumusunod na utos:

google-authenticator

Kapag naisakatuparan ang utos na ito, kung ano ang gagawin namin ay magtalaga ng isang lihim na susi at tatanungin kami kung nais naming gamitin ang mga token batay sa oras, na sasagutin namin oo.

Pagkatapos nito, makakakita sila ng isang QR code na maaari nilang i-scan gamit ang isang TOTP app sa kanilang telepono.

Dito Inirerekumenda namin ang paggamit ng application ng Google Authenticator sa iyong mobile phone.il, upang mai-install mo ang application sa pamamagitan ng Google Play o Apple App Store sa iyong mobile phone.

Mayroon ka nang aplikasyon sa iyong telepono, dapat mong i-scan ang QR code kasama nito. Tandaan na kailangan mong palakihin ang window ng terminal upang i-scan ang buong QR code.

Ang QR code ay kumakatawan sa lihim na susi, na kilala lamang sa SSH server nito at sa Google Authenticator app nito.

Kapag na-scan ang QR code, maaari nilang makita ang isang natatanging anim na digit na token sa kanilang telepono. Bilang default ang token na ito ay tumatagal ng 30 segundo at dapat itong ipasok upang mag-log in sa Ubuntu sa pamamagitan ng SSH.

google-authenticator-lihim-susi

Sa terminal makikita mo rin ang lihim na code, pati na rin ang verification code at ang emergency start code.

Mula sa kung saan inirerekumenda namin na itago mo ang impormasyong ito sa isang ligtas na lugar para magamit sa paglaon. Sa iba pang mga katanungan na tinanong sa amin, sasagutin lamang namin ang oo sa pamamagitan ng pagta-type ng titik na y.

Pagse-set up ng SSH upang magamit sa Google Authenticator

Nagbibilang na sa itaas, Ngayon ay gagawin namin ang kinakailangang pagsasaayos upang magamit ang koneksyon ng SSH sa aming system sa Google Authenticator.

Sa terminal vIsusulat namin ang sumusunod na utos

sudo nano /etc/ssh/sshd_config

Sa loob ng file hahanapin namin ang mga sumusunod na linya at babaguhin namin ang mga ito sa "oo", na sumusunod:

UsePAM yes

ChallengeResponseAuthentication yes

Kapag nagawa na ang mga pagbabago, i-save ang mga pagbabagong nagawa sa Ctrl + O at isara ang file sa Ctrl + X.

Sa parehong terminal ay ire-restart namin ang SSH sa:

sudo systemctl restart ssh

Bilang default, kinakailangan ng pagpapatotoo na ipasok nila ang password ng gumagamit upang mag-log in.

Kaya't i-edit natin ang file ng mga panuntunan ng PAM para sa SSH daemon.

sudo nano /etc/pam.d/sshd

Sa simula ng file na ito, makikita mo ang sumusunod na linya, na nagbibigay-daan sa pagpapatotoo ng password

ChallengeResponseAuthentication

Na dapat nating itakda sa oo.

Upang paganahin din ang isang beses na pagpapatotoo ng password, idagdag ang sumusunod na dalawang linya.

@include common-auth

#One-time password authentication via Google Authenticator

auth required pam_google_authenticator.so

I-save at isara ang file.

Mula ngayon, sa tuwing mag-log in sila sa iyong system sa pamamagitan ng isang koneksyon sa SSH, sasabihan sila na ipasok ang password ng gumagamit at isang verification code (ang isang beses na password na nabuo ng Google Authenticator).


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Miguel dijo

    Kumusta, medyo simpleng tutorial, gayunpaman, sa sandaling magawa ko ang lahat ng mga hakbang na hindi ko na maipasok sa pamamagitan ng ssh, itinapon ito sa akin ng isang maling error sa password, hindi ko rin mahiling ang 2FA.

    Mayroon akong Ubuntu Server 20.04