La Kaksivaiheinen todennus (2FA) ei ole ainutlaatuinen asia, jota voidaan käyttää sosiaalisessa mediassa tai millä tahansa muulla verkkosivustolla. No, tämä turvatoimenpide voidaan toteuttaa myös käyttöjärjestelmässä.
Siksi Tänään näemme, kuinka kaksitekijäinen todennus otetaan käyttöön SSH: ssa Ubuntussa ja johdannaiset käyttämällä tunnettua Google Authenticator -ohjelmaa, mikä parantaa huomattavasti OpenSSH-palvelimesi turvallisuutta.
Normaalisti sinun tarvitsee vain syöttää salasana tai käyttää SSH-avainta kirjautua järjestelmään etänä.
Kaksivaiheinen todennus (2FA) edellyttää, että sisäänkirjautumiseen syötetään kaksi tietoa.
Siksi sinun on myös annettava aikaperusteinen kertasalasana kirjautua SSH-palvelimeesi.
Tämä kertaluonteinen salasana lasketaan TOTP-algoritmilla, joka on IETF-standardi.
Google Authenticatorin asennus ja määritys Ubuntussa ja johdannaisissa
Ensimmäinen vaihe, jonka aiomme suorittaa, on Google Authenticatorin asentaminen järjestelmäämme, joten aiomme avata päätelaitteen järjestelmässä (tämä voidaan tehdä näppäinyhdistelmällä "Ctrl + Alt + T) ja siinä kirjoitetaan seuraava komento:
sudo apt install libpam-google-authenticator
Asennus valmis aiomme suorittaa vasta asennetun sovelluksen seuraavalla komennolla:
google-authenticator
Suoritettaessa tätä komentoa aiomme määrittää salaisen avaimen, ja tämä kysyy, haluammeko käyttää tunnuksia ajan perusteella, johon vastaamme kyllä.
Tämän jälkeen, he näkevät QR-koodin, jonka he voivat skannata puhelimen TOTP-sovelluksella.
Täällä Suosittelemme Google Authenticator -sovelluksen käyttöä matkapuhelimellasi.Näin voit asentaa sovelluksen matkapuhelimeesi Google Playn tai Apple App Storen kautta.
Sovellus on jo puhelimessasi, joten sinun on skannattava QR-koodi sen kanssa. Muista, että sinun on suurennettava pääteikkunaa skannataksesi koko QR-koodin.
QR-koodi edustaa salaista avainta, joka on vain sen SSH-palvelimen ja Google Authenticator -sovelluksen tiedossa.
Kun QR-koodi on skannattu, he voivat nähdä puhelimessaan ainutlaatuisen kuusinumeroisen tunnuksen. Oletusarvon mukaan tämä tunniste kestää 30 sekuntia, ja se on syötettävä, jotta kirjaudutaan Ubuntuun SSH: n kautta.
Päätteessä näet myös salakoodin, vahvistuskoodin ja hätäkäynnistyskoodin.
Josta suosittelemme, että pidät nämä tiedot turvallisessa paikassa myöhempää käyttöä varten. Muista kysymyksistämme vastaamme kyllä kirjoittamalla kirjaimen y.
Määritetään SSH käytettäväksi Google Authenticatorin kanssa
Lasken jo edellä olevaan, Nyt aiomme tehdä tarvittavat määritykset voidaksemme käyttää järjestelmämme SSH-yhteyttä Google Authenticatorin kanssa.
Liittimessä vAiomme kirjoittaa seuraavan komennon
sudo nano /etc/ssh/sshd_config
Tiedoston sisällä aiomme etsiä seuraavia rivejä ja muutamme ne "kyllä" seuraavasti:
UsePAM yes ChallengeResponseAuthentication yes
Kun muutokset on tehty, tallenna muutokset, jotka on tehty näppäimillä Ctrl + O ja sulje tiedosto näppäimillä Ctrl + X.
Samassa terminaalissa aiomme käynnistää SSH: n uudelleen:
sudo systemctl restart ssh
Oletusarvon mukaan todennus edellyttää, että he antavat käyttäjän salasanan kirjautumista varten.
Mitä varten muokataan SSH-daemonin PAM-sääntötiedostoa.
sudo nano /etc/pam.d/sshd
Tämän tiedoston alussa näet seuraavan rivin, joka mahdollistaa salasanan todennuksen
ChallengeResponseAuthentication
Meidän on asetettava kyllä.
Jos haluat ottaa käyttöön myös kertaluonteisen salasanan todennuksen, lisää seuraavat kaksi riviä.
@include common-auth #One-time password authentication via Google Authenticator auth required pam_google_authenticator.so
Tallenna ja sulje tiedosto.
Tästä lähtien joka kerta, kun he kirjautuvat järjestelmääsi SSH-yhteyden kautta, heitä pyydetään antamaan käyttäjän salasana ja vahvistuskoodi (Google Authenticatorin luoma kertaluonteinen salasana).
Hei, melko yksinkertainen opetusohjelma, mutta kun teen kaikki vaiheet, joita en voi enää kirjoittaa ssh: llä, se heittää minulle väärän salasanavirheen, en voi edes pyytää 2FA: ta.
Minulla on Ubuntu Server 20.04