I ett nötskal är SSH eller 'säkert skal' ett krypterat protokoll, med vilket du kan ansluta till en server på distans och få tillgång till informationen som är associerad med den. Det ger ett mycket säkrare sätt att logga in för att ge ett säkert sätt att logga in utan att kompromissa med säkerheten.
Steg 1: Skapa nyckelparet
Vi börjar med att skapa ett nyckelpar på klientens system först med root-åtkomst efter typ i följande:
$ ssh-keygen
Detta utlöser den senaste ssh-keygen till att skapa ett 3072-bitars RSA-nyckelpar som standard. Du kan lägga till -b 4086-flaggan för att generera en större nyckel. Tryck på Enter och det lagrar nyckelparet i .ssh / underkatalog. Observera att om du är gäst på en server som redan hade en nyckel installerad kommer frågan att fråga dig om du vill skriva över den eller inte. Om så är fallet, skriv 'y' för att signalera ett ja.
Därefter kommer frågan att fråga dig om du vill lägga till en lösenfras. Du kan välja bort men vi rekommenderar att du lägger till en. Det stärker säkerhetsprotokollet genom att betjäna ett extra skyddsskikt för att kringgå för en obehörig användare.
Steg 2: Kopiera den offentliga nyckeln till din server
Därefter måste vi överföra den offentliga nyckeln till din ubuntu-server.
Du kan använda verktyget ssh-copy-id med följande kommando:
$ ssh-copy-id användarnamn @ server_host
Detta borde göra tricket på bara några sekunder. Om nyckeln har kopierats framgångsrikt går du vidare till tredje steget.
Ibland händer det så att metoden ssh-copy-id misslyckas eller helt enkelt inte är tillgänglig. I det här fallet måste du kopiera det via lösenordsbaserat SSH. Detta kan du göra genom att använda kattkommandot och se till att lägga till >> -symbolen för att lägga till innehållet istället för att skriva över det.
$ katt ~ /.ssh / id_rsa.pub | ssh remote_username @ server_ip_address"mkdir -p ~ /.ssh && katt >> ~ /.ssh / auktoriserade_tangenter "
Om det här är första gången du ansluter till en ny värd visar ditt system dig ungefär som:
Skriv bara ja och tryck på Enter-knappen. Ange sedan lösenordet till användaråtkomstkontot och den offentliga nyckeln kopieras till din Ubuntu-server.
Om den lösenordsbaserade SSH-åtkomsten nekas dig av någon anledning som du inte kan fastställa, kan du alltid bara kopiera den offentliga nyckeln manuellt. Lägg till ~ /.ssh / autoriserade_knappar till id_rsa.pubfil på din fjärrmaskin. Logga sedan in på ditt fjärrserverkonto och kontrollera om ~ SSH-katalogen finns. Om den inte gör det, skriv in:
$ mkdir -p ~ /.ssh
Nu måste du bara lägga till nyckeln:
$ echo public_key_string >> ~ /.ssh / auktoriserade_tangenter$ chmod -R go = ~ /.ssh
Se också till att du använder ~ SSH / ANVÄNDARE katalog och INTE rotkatalogen:
$ chown -R younis: younis ~ /.ssh
Steg 3: Autentisera SSH-tangenterna
Nästa steg är att autentisera SSH-nycklarna på Ubuntu-servern. Logga först in på din fjärrvärd:
$ ssh användarnamn @ remote_host
Du uppmanas att ange lösenordsnyckeln som du lade till i steg 2. Skriv ner det och fortsätt. Autentiseringen tar lite tid och när den är klar tas du till ett nytt interaktivt skal på din Ubuntu-server
Steg 4: Inaktivera lösenordsautentisering
Med SSH-nycklarna autentiserade behöver du inte längre lösenordsautentiseringssystemet.
Om autentiseringen av lösenordet är aktiverat på din server kommer det fortfarande att vara obehörigt användaråtkomst via brute force attacker. Så det skulle vara bättre om du inaktiverar någon lösenordsbaserad autentisering.
Kontrollera först om du har SSH-nyckelbaserad autentisering grundad för rot konto på den här servern. Om så är fallet bör du ändra det till det sudo-privilegierade användaråtkomstkontot på den här servern, så att administratörsåtkomsten är öppen för dig i en nödsituation eller när systemet står inför misstänkta aktiviteter.
Efter att ha beviljat administratörsbehörigheter till ditt fjärråtkomstkonto loggar du in på fjärrservern med SSH-nycklar med antingen root- eller sudo-behörigheter. Använd sedan följande kommando för att komma åt SSH-daemons konfigurationsfil:
$ sudo gedit / etc / ssh / sshd_config
När filen är öppen nu, sök efter katalogen 'PasswordAuthentication' och skriv in följande för att inaktivera lösenordsautentisering och lösenordsbaserade SSH-inloggningar.
$ / etc / ssh / sshd_config..
PasswordAuthentication no
..
För att se dessa ändringar träder i kraft måste du starta om sshd-tjänsten med följande kommando:
$ sudo systemctl starta om ssh
Som en försiktighetsåtgärd, öppna ett nytt terminalfönster och testa att SSH-tjänsten fungerar korrekt innan du stänger din nuvarande session.
Med dina verifierade SSH-nycklar borde du kunna se allt fungerar som normalt. Du kan avsluta alla aktuella serversessioner.
Slutsats
Nu när du har ett SSH-nyckelbaserat autentiseringssystem på plats behöver du inte längre det sårbara lösenordsautentiseringssystemet, eftersom du helt enkelt kan logga in utan lösenord. Jag hoppas att du har hittat den här handledningen till hjälp.