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å åtkomst till den information som är associerad med den. Det ger ett mycket säkrare sätt att logga in för att tillhandahålla 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 rotå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, så lagras nyckelparet i .ssh/ underkatalogen. Observera att om du är gäst på en server som redan hade en nyckel installerad frågar prompten dig om du vill skriva över den eller inte. Om så är fallet skriver du 'y' för att signalera ett ja.
Därefter frågar prompten 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 ytterligare skyddslager 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 genom att använda följande kommando:
$ssh-copy-id användarnamn@server_host
Detta bör göra susen inom bara några sekunder. Om nyckeln har kopierats framgångsrikt, gå vidare till det tredje steget.
Ibland händer det så att ssh-copy-id-metoden misslyckas eller helt enkelt inte är tillgänglig. I det här fallet måste du kopiera det via lösenordsbaserad SSH. Detta kan du göra genom att använda cat -kommandot och se till att du lägger till symbolen >> för att lägga till innehållet istället för att skriva över det.
$katt~/.ssh/id_rsa.pub| sshfjärranvändarnamn@server IP adress'mkdir -p ~/.ssh && cat >> ~/.ssh/Author_keys'
Om det här är första gången du ansluter till en ny värd kommer ditt system att visa dig något liknande:
Skriv bara ja och tryck på Enter -knappen. Ange sedan lösenordet för användaråtkomstkontot, och den offentliga nyckeln kopieras till din Ubuntu -server.
Om den lösenordsbaserade SSH-åtkomsten nekas till dig av någon anledning du inte kan sätta fast, kan du alltid bara kopiera den offentliga nyckeln manuellt. Lägg till ~/.ssh/Author_keys till filen id_rsa.pub på din fjärrmaskin. Logga sedan in på ditt fjärrserverkonto och kontrollera om ~ SSH -katalogen finns. Om det inte gör det skriver du in:
$mkdir -s~/.ssh
Nu måste du bara lägga till nyckeln:
$kastade utpublic_key_string>>~/.ssh/autoriserade_nycklar$chmod -R gå= ~/.ssh
Se också till att du använder ~ SSH/ ANVÄNDARE katalog och INTE rotkatalogen:
$chown -Ryounis: younis ~/.ssh
Steg 3: Verifiera SSH -nycklarna
Nästa steg är att autentisera SSH -nycklarna på Ubuntu -servern. Logga först in på din fjärrvärd:
$sshAnvändarnamn@remote_host
Du uppmanas att ange nyckelordet som du lade till i steg 2. Skriv ner det och fortsätt. Autentiseringen tar lite tid, och när det är klart kommer 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 lösenordsautentisering är aktiverad på din server är det fortfarande benäget för obehörig användaråtkomst via brute force -attacker. Så det vore 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 händelse av en nödsituation eller när systemet står inför vissa misstänkta aktiviteter.
Efter att ha beviljat administratörsbehörighet till ditt fjärråtkomstkonto loggar du in på fjärrservern med SSH -nycklar med antingen root- eller sudo -privilegier. Använd sedan följande kommando för att komma åt SSH -demonens konfigurationsfil:
$sudogedit/etc/ssh/sshd_config
Med filen öppen nu söker du efter 'PasswordAuthentication' -katalogen och skriver 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 i kraft måste du starta om sshd -tjänsten med följande kommando:
$sudosystemctl starta omssh
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 att allt fungerar som vanligt. Du kan avsluta alla nuvarande 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 ett lösenord. Jag hoppas att du har funnit den här självstudien till hjälp.