I et nøtteskall er SSH eller 'secure shell' en kryptert protokoll, som du kan koble til en server eksternt og få tilgang til informasjonen som er knyttet til den. Det gir en mye tryggere måte å logge på for å gi en sikker måte å logge på uten å gå på akkord med sikkerheten.
Trinn 1: Opprett nøkkelparet
Vi begynner med å lage et nøkkelpar på klientens system først med root-tilgang etter type i følgende:
$ ssh-keygen
Dette utløser den siste ssh-keygen til å lage et 3072-bit RSA-nøkkelpar som standard. Du kan legge til -b 4086-flagget for å generere en større nøkkel. Trykk på Enter, og den lagrer nøkkelparet i .ssh / underkatalog. Merk at hvis du er gjest på en server som allerede hadde en nøkkel installert, vil spørringen spørre deg om du vil overskrive den eller ikke. Hvis det er tilfelle, skriv 'y' for å signalisere et ja.
Deretter vil spørringen spørre deg om du vil legge til en passordfrase. Du kan velge bort, men vi anbefaler at du legger til en. Det styrker sikkerhetsprotokollen ved å betjene et ekstra beskyttelseslag for å omgå for en uautorisert bruker.
Trinn 2: Kopier den offentlige nøkkelen til serveren din
Deretter må vi overføre den offentlige nøkkelen til ubuntu-serveren din.
Du kan bruke ssh-copy-id-verktøyet ved å bruke følgende kommando:
$ ssh-copy-id brukernavn @ server_host
Dette skal gjøre susen i løpet av få sekunder. Hvis nøkkelen er kopiert, kan du gå videre til tredje trinn.
Noen ganger skjer det slik at metoden ssh-copy-id mislykkes, eller rett og slett ikke er tilgjengelig. I dette tilfellet må du kopiere det via passordbasert SSH. Dette kan du gjøre ved å bruke cat-kommandoen og sørg for å legge til >> -symbolet for å legge til innholdet i stedet for å overskrive det.
$ katt ~ /.ssh / id_rsa.pub | ssh remote_username @ server_ip_address"mkdir -p ~ /.ssh && katt >> ~ /.ssh / autoriserte_taster "
Hvis dette er første gang du kobler til en ny vert, vil systemet ditt vise deg noe sånt som:
Bare skriv ja og trykk Enter. Skriv deretter inn passordet til brukeradgangskontoen, og den offentlige nøkkelen kopieres til Ubuntu-serveren din.
Hvis den passordbaserte SSH-tilgangen nektes deg av en eller annen grunn du ikke kan slå fast, kan du alltid bare kopiere den offentlige nøkkelen manuelt. Legg til ~ /.ssh / autoriserte_taster til id_rsa.pubfil på den eksterne maskinen. Deretter logger du på den eksterne serverkontoen og sjekker om ~ SSH-katalogen eksisterer. Hvis ikke, skriver du inn:
$ mkdir -p ~ /.ssh
Nå er det bare å legge til nøkkelen:
$ echo public_key_string >> ~ /.ssh / autoriserte_taster$ chmod -R go = ~ /.ssh
Sørg også for at du bruker ~ SSH / BRUKER katalog og IKKE rotkatalogen:
$ chown -R younis: younis ~ /.ssh
Trinn 3: Autentiser SSH-tastene
Det neste trinnet er å autentisere SSH-nøklene på Ubuntu-serveren. Logg deg først på den eksterne verten:
$ ssh brukernavn @ remote_host
Du blir bedt om å oppgi passordfrasenøkkelen du la til i trinn 2. Skriv den ned og fortsett. Autentiseringen vil ta litt tid, og når den er ferdig, blir du ført til et nytt interaktivt skall på Ubuntu-serveren
Trinn 4: Deaktiver passordautentisering
Med SSH-nøklene autentisert trenger du ikke lenger passordgodkjenningssystemet.
Hvis passordgodkjenning er aktivert på serveren din, vil den fremdeles være utsatt for uautorisert brukertilgang via brute force-angrep. Så det ville være bedre hvis du deaktiverer passordbasert autentisering.
Sjekk først om SSH-nøkkelbasert autentisering er grunnlagt for rot konto på denne serveren. Hvis det er det, bør du endre det til den sudo-privilegerte brukeradgangskontoen på denne serveren, slik at administratortilgangen er åpen for deg i en nødsituasjon eller når systemet står overfor noen mistenkelige aktiviteter.
Etter å ha gitt administratorrettigheter til fjerntilgangskontoen din, logg deg på den eksterne serveren med SSH-nøkler med enten root- eller sudo-privilegier. Bruk deretter følgende kommando for å få tilgang til SSH-demonens konfigurasjonsfil:
$ sudo gedit / etc / ssh / sshd_config
Når filen er åpnet nå, søker du etter 'PasswordAuthentication' -katalogen, og skriver inn følgende for å deaktivere passordgodkjenning og passordbaserte SSH-pålogginger.
$ / etc / ssh / sshd_config..
PassordGodkjenningsnr
..
For å se disse endringene i kraft, må du starte sshd-tjenesten på nytt med følgende kommando:
$ sudo systemctl start ssh på nytt
Som en forholdsregel, åpne et nytt terminalvindu og test at SSH-tjenesten fungerer som den skal før du lukker den nåværende økten.
Med dine bekreftede SSH-nøkler, bør du kunne se alt fungerer som normalt. Du kan avslutte alle gjeldende serverøkter.
Konklusjon
Nå som du har et SSH-nøkkelbasert autentiseringssystem på plass, trenger du ikke lenger det sårbare passordgodkjenningssystemet, da du bare kan logge på uten passord. Jeg håper du har funnet denne veiledningen nyttig.