I et nøtteskall er SSH eller 'Secure Shell' en kryptert protokoll, som du kan koble til en server eksternt og ha tilgang til informasjonen tilknyttet den. Det gir en mye tryggere måte å logge på for å gi en sikker måte å logge på uten å gå på akkord med sikkerhet på.
Trinn 1: Lag nøkkelparet
Vi starter med å lage et nøkkelpar på klientens system først med rottilgang etter type inn følgende:
$ SSH-KeenGen
Dette utløser den nyeste SSH-Keen til å lage et 3072-bit RSA-nøkkelpar som standard som standard. Du kan legge til -b 4086 -flagget for å generere en større nøkkel. Treff Enter, og det vil lagre nøkkelparet inn .SSH/ underkatalog. Merk at hvis du er gjest på en server som allerede hadde en nøkkel installert, vil ledeteksten spørre deg om du vil overskrive den eller ikke. Hvis det er tilfelle, skriv 'y' for å signalisere et ja.
Deretter vil ledeteksten spørre deg om du vil legge til en passfrase. Du kan velge bort, men vi vil anbefale deg å legge til en. Det styrker sikkerhetsprotokollen ved å servere et ekstra lag med beskyttelse 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 bare noen få sekunder. Hvis nøkkelen er kopiert med hell, kan du gå på det tredje trinnet.
Noen ganger hender det at SSH-Copy-ID-metoden 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ørge for å legge til >> symbolet for å legge til innholdet i stedet for å overskrive det.
$ katt ~/.SSH/ID_RSA.Pub | ssh remote_usname@server_ip_address
"mkdir -p ~/.ssh && cat >> ~/.ssh/autoriserte_keys "
Hvis dette er første gang du kobler til en ny vert, vil systemet ditt vise deg noe som:
Bare skriv ja og trykk Enter -knappen. Skriv deretter inn passordet til brukertilgangskontoen, og den offentlige nøkkelen vil bli kopiert til Ubuntu -serveren din.
I tilfelle den passordbaserte SSH-tilgangen blir nektet for deg av en eller annen grunn, kan du ikke finne ned, kan du alltid bare kopiere den offentlige nøkkelen manuelt. Legg til ~/.ssh/autoriserte_keys til ID_RSA.Pubfil på den eksterne maskinen. Deretter logger du på den eksterne serverkontoen din og sjekk om ~ SSH -katalogen eksisterer. Hvis det ikke gjør det, skriv inn:
$ mkdir -p ~/.ssh
Nå må du bare legge til nøkkelen:
$ ekko public_key_string >> ~/.SSH/Authorised_Keys
$ chmod -r go = ~/.ssh
Forsikre deg også om at du bruker ~ ssh/ BRUKER katalog og IKKE rotkatalogen:
$ chown -r younis: younis ~/.ssh
Trinn 3: Autentiser SSH -nøklene
Neste trinn er å autentisere SSH -nøklene på Ubuntu -serveren. Først, logg inn på den eksterne verten:
$ ssh brukernavn@remote_host
Du blir bedt om å oppgi passfrasetasten som du la til i trinn 2. Skriv den ned og fortsett. Autentiseringen vil ta litt tid, og når den først er ferdig, blir du ført til et nytt interaktivt skall på Ubuntu -serveren din
Trinn 4: Deaktiver passordgodkjenning
Med SSH -nøklene autentisert, trenger du ikke lenger passordgodkjenningssystemet.
Hvis passordgodkjenningen er aktivert på serveren din, vil den fortsatt være utsatt for uautorisert brukertilgang via brute force -angrep. Så det ville være bedre hvis du deaktiverer passordbasert autentisering.
Først må du sjekke om du har den SSH-key-baserte autentiseringen grunnet for rot konto på denne serveren. Hvis det er det, bør du endre det til Sudo Privileged brukertilgangskonto på denne serveren, slik at admin -tilgangen er åpen for deg i tilfelle nødsituasjoner eller når systemet står overfor noen mistenkelige aktiviteter.
Etter å ha gitt administratorrettigheter til din eksterne tilgangskonto, logg inn på den eksterne serveren med SSH -nøkler med enten rot- eller sudo -privilegier. Bruk deretter følgende kommando for å få tilgang til SSH -demonens konfigurasjonsfil:
$ sudo gedit/etc/ssh/sshd_config
Med filen åpnet nå, søk etter katalogen 'PasswordAuthentication', og skriv inn følgende for å deaktivere passordgodkjenning og passordbasert SSH-pålogging.
$/etc/ssh/sshd_config
..
PasswordAuthentication nr
..
For å se disse endringene i kraft, må du starte SSHD -tjenesten på nytt ved å bruke følgende kommando:
$ sudo SystemCTL Restart SSH
Som en forsiktighet, åpner du et nytt terminalvindu og test at SSH -tjenesten fungerer riktig før du lukker din nåværende økt.
Med dine bekreftede SSH -nøkler, bør du kunne se alt som normalt. Du kan avslutte alle de nåværende serverøktene.
Konklusjon
Nå som du har et SSH-key-basert autentiseringssystem på plass, trenger du ikke lenger det sårbare passordgodkjenningssystemet, da du ganske enkelt kan logge på uten passord. Jeg håper du har funnet denne opplæringen nyttig.