Installera SSH-server för nyckelverifiering på Ubuntu 17.04 | 17.10

  • George Richardson
  • 0
  • 2920
  • 149

Den här korta handledningen visar studenter och nya användare hur man ställer in OpenSSH-servern för nyckelautentisering eller lösenordsfri autentisering. Denna inställning tillåter användare av Ubuntu-servern att logga in via SSH utan att skriva lösenord.

Detta är ett mycket säkrare alternativ till SSH-lösenordsautentisering. Med lösenordsverifiering måste han / hon alltid skriva in ett lösenord varje gång en användare vill logga in. En annan svaghet är lösenord kan gissa någon.

Med nyckelautentisering skrivs inget lösenord någonsin. Endast klientdatorer med rätt matchande nyckelpar till servern är tillåtna.

Följ stegen nedan för att konfigurera SSH med nyckelautentisering:

Steg 1: Skapa en SSH-nyckel för varje användare

För att logga in via SSH-nyckelautentisering måste du först skapa ett nyckelpar. Två nycklar skapas: en offentlig och den andra privat. Den privata nyckeln måste vara kvar på servern och den offentliga nyckeln delas säkert med klienter.

Logga in via SSH som den användare du vill konfigurera och kör sedan kommandona nedan för att skapa ett SSH-nyckelpar.

ssh-keygen -t rsa

När du blir ombedd trycker du på Enter för att acceptera standardplatsen för att lagra nycklarna ... som standard sparas den i användarens hemkatalog i den dolda .ssh-mappen.

richard @ ubuntu1704: ~ $ ssh-keygen -t rsa Skapar offentlig / privat rsa-nyckelpar. Ange fil där nyckeln ska sparas (/home/richard/.ssh/id_rsa): Ange Skapad katalog '/home/richard/.ssh'. Ange lösenfras (tom för ingen lösenfras): Ange Ange samma lösenfras igen: Ange Din identifikation har sparats i /home/richard/.ssh/id_rsa. Din offentliga nyckel har sparats i /home/richard/.ssh/id_rsa.pub. 

Steg 2: Dela den offentliga nyckeln med klientdatorn

Efter att du har skapat nyckelparet ovan kallades en offentlig nyckel id_rsa.pub lagras i ~ / .ssh /. En mapp kallas också auktoriserade_knappar kommer också att skapas i den katalogen. SSH-servern ser i ~ / .ssh / auktoriserade_tangenter för alla auktoriserade nycklar som kan logga in på servern.

Så kör kommandona nedan för att flytta den offentliga nyckeln som skapats ovan till ~ / .ssh / authorised_keys-fil.

mv ~ / .ssh / id_rsa.pub ~ / .ssh / auktoriserade_tangenter

Efter att ha kört ovanstående kommandon loggar du in på klientdatorn ... förhoppningsvis en annan Linux-maskin och kör kommandona nedan för att kopiera den offentliga nyckeln till klientmaskinen.

mkdir ~ / .ssh scp richard @ server_name: /home/richard/.ssh/id_rsa ~ / .ssh / 

Nyckeln ska kopieras till klientmaskinen.

Steg 3: Logga in på SSH utan lösenord

Efter att ha fått nyckeln till klientdatorn, logga in på servern och öppna SSH-standardkonfigurationsfilen genom att köra kommandona nedan

sudo nano / etc / ssh / sshd_config

Gör sedan de markerade ändringarna nedan och spara filen.

# För att inaktivera tunneldata lösenord för klartext, ändra till nej här! PasswordAuthentication no ChallengeResponseAuthentication no UsePAM yes #PermitEmptyPasswords no 

Spara filen och starta om SSH

sudo systemctl starta om ssh

Skydda dina nycklar.

Kör kommandona nedan på servern för att skydda SSH-nycklarna.

chmod 600 ~ / .ssh / auktoriserade tangenter

Nu tillåts endast klienter med matchande nyckelpar till servern. För att ansluta, kör kommandona nedan och ersätt server_name med originalservrarna.

ssh richard @ server_name

Loggar in utan att skriva ett lösenord.

Om du kan få nyckeln till en Windows-maskin kan du också använda PuTTY för att logga in automatiskt.

Njut av ~




Ingen har kommenterat den här artikeln än.

En samling användbar information om operativsystemet Linux och ny teknik
Färska artiklar, praktiska tips, detaljerade recensioner och guider. Känn dig hemma i Linux-operativsystemets värld