Skip to content

Så här konfigurerar du SSH -nyckelautentisering på Linux

10 de augusti de 2021
login 1203603 1280 5c46225646e0fb0001efbe93

Secure Shell är det mest populära sättet att logga in på en fjärr Linux -server eller skrivbord. Genom att använda det här verktyget får du tillgång till kommandoraden på en fjärrmaskin via en säker tunnel. Utanför rutan skriver du fjärranvändarens lösenord. Även om denna metod fortfarande är säkrare än de äldre (t.ex. telnet), kan du göra den ännu säkrare med SSH Key Authentication.

Vad är nyckelautentisering?

Tänk dig att du har ett lås och det enda sättet att öppna det låset är med en specifik nyckel som låset vet tillhör dig. Hur vet låset att nyckeln tillhör dig? Eftersom nyckeln innehåller en signatur som är unik för dig. Inom låset finns en matchande signatur som nyckeln använder för jämförelse. Om signaturerna matchar öppnas låset. Skulle nyckeln passa, men signaturerna inte stämmer, öppnas inte låset. Hur SSH Key Authentication fungerar i verkligheten är att du skapar ett nyckelpar (som innehåller en privat och offentlig kod) och kopierar den offentliga nyckeln till servern som du vill logga in på. Om du försöker logga in med nyckelautentisering och servern inte har den offentliga nyckeln som matchar din privata nyckel, tillåter den inte åtkomst.

Hur man genererar ett SSH -nyckelpar

Det första du ska göra är att generera ett SSH -nyckelpar som skapar de koder som din dator kommer att använda för att autentisera inloggningar. Så här gör du.

  1. Öppna ett terminalfönster på skrivbordet.

  2. Ge kommandot: ssh-keygen

  3. Ge nyckeln ett namn och en plats. Tryck Enter/Return på tangentbordet för att använda standardplatsen, som Terminal kommer att visa.

    Platsen för en SSH -nyckel

  4. Ange och verifiera en lösenfras för nyckeln. Se till att det här lösenordet är starkt och unikt.

    Ange en lösenfras för nyckeln

  5. Du har nu ett SSH -nyckelpar. Du hittar dessa två filer i ~/.ssh, och deras namn kommer att vara:

    • id_rsa – Den privata nyckeln.
    • id_rsa.pub – Den offentliga nyckeln.

Kopiera din offentliga nyckel till fjärrmaskinen

Därefter måste du kopiera den offentliga nyckelfilen till den fjärrmaskin du vill logga in på. För att göra det, ange kommandot: ssh-copy-id [email protected]_IP

type = ”code”> Där USER är ett användarnamn på fjärrdatorn och REMOTE_IP är fjärranslutningens IP -adress.

Ett exempel på kommandot ssh-copy-id

Om det här är första gången du säkrade på fjärrmaskinen måste du bekräfta anslutningen. Annars kommer du att få en uppmaning om att skriva användarlösenordet på fjärrdatorn. När du har skrivit in ditt fjärrlösenord är du redo att testa anslutningen.

Testar anslutningen

Testa anslutningen genom att utfärda kommandot: ssh [email protected]_IP

type = ”code”> Där USER är ett användarnamn på fjärrdatorn och REMOTE_IP är fjärranslutningens IP -adress.

Ett exempel på ssh -kommandot i Terminal

Du får en uppmaning till lösenfrasen för SSH -nyckelparet. När du har skrivit in rätt nyckellösenfras kommer du åt den fjärranslutna maskinen.

Inaktivera lösenordsautentisering

Du kan ta säkerheten ett steg längre genom att inaktivera lösenordsautentisering. Med denna konfiguration på plats är det enda sättet att få åtkomst till fjärrmaskinen från en maskin som innehåller den privata nyckeln från matchande par. Med andra ord, inget nyckelpar, ingen åtkomst. För att inaktivera lösenordsautentisering loggar du in på fjärrdatorn och ger kommandot: sudo nano/etc/ssh/sshd_config

type = ”code”> I den här filen letar du efter raden: #PasswordAuthentication ja

type = ”code”> Ändra raden till: PasswordAuthentication no

type = ”code”> Spara och stäng filen. Starta om SSH med kommandot: sudo systemctl restart sshd

typ = ”kod”>

Kommandotolken.

Om du nu försöker logga in på den fjärranslutna datorn från ett skrivbord (eller en server) som inte innehåller den privata nyckeln, nekar systemet dig åtkomst.