Android

Hvordan sette opp ssh-nøkler på ubuntu 18.04

Ubuntu Server 18.04 Essentials Part 03 - Connecting via SSH

Ubuntu Server 18.04 Essentials Part 03 - Connecting via SSH

Innholdsfortegnelse:

Anonim

Secure Shell (SSH) er en kryptografisk nettverksprotokoll som brukes for en sikker forbindelse mellom en klient og en server og støtter forskjellige autentiseringsmekanismer.

De to mest populære mekanismene er passordbasert autentisering og offentlig nøkkelbasert autentisering. Å bruke SSH-nøkler er sikrere og praktisk enn tradisjonell passordgodkjenning.

I denne opplæringen skal vi gå gjennom hvordan du genererer SSH-nøkler på Ubuntu 18.04 maskiner. Vi vil også vise deg hvordan du konfigurerer en SSH-nøkkelbasert autentisering og kobler til dine eksterne Linux-servere uten å oppgi et passord.

Opprette SSH-nøkler på Ubuntu

Før du genererer et nytt SSH-nøkkelpar først, må du se etter eksisterende SSH-nøkler på Ubuntu-klientmaskinen. Du kan gjøre det ved å kjøre følgende ls-kommando:

ls -l ~/.ssh/id_*.pub

Hvis kommandoen over skriver ut noe som No such file or directory eller no matches found , betyr det at du ikke har SSH-nøkler på klientmaskinen din, og du kan fortsette med neste trinn, og generere SSH-nøkkelpar.

Hvis det er eksisterende nøkler, kan du enten bruke disse og hoppe over neste trinn eller ta sikkerhetskopi av de gamle tastene og generere nye.

Generer et nytt 4096 bits SSH-nøkkelpar med e-postadressen din som en kommentar ved å skrive:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Utgangen vil se slik ut:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Trykk Enter å godta standard filplassering og filnavn.

Deretter blir du bedt om å skrive inn en sikker passord. Enten du vil bruke passordfrase, er det opp til deg. Hvis du velger å bruke passordfrase, vil du få et ekstra lag med sikkerhet.

Enter passphrase (empty for no passphrase):

Hele samspillet ser slik ut:

For å bekrefte at det nye SSH-nøkkelparet ditt er generert, skriver du:

ls ~/.ssh/id_*

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Kopier den offentlige nøkkelen til Ubuntu Server

Nå som du genererte SSH-nøkkelparet ditt, er neste trinn å kopiere den offentlige nøkkelen til serveren du vil administrere.

Den enkleste og anbefalte måten å kopiere den offentlige nøkkelen til serveren på er å bruke et verktøy som heter ssh-copy-id . På din lokale maskinterminal type:

ssh-copy-id remote_username@server_ip_address

Du blir bedt om å oppgi passordet for remote_username brukernavn:

remote_username@server_ip_address's password:

Når brukeren er autentisert, legges den offentlige nøkkelen ~/.ssh/id_rsa.pub til den eksterne brukeren ~/.ssh/authorized_keys og tilkoblingen blir lukket.

Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.

Hvis ssh-copy-id verktøyet av en eller annen grunn ikke er tilgjengelig på din lokale datamaskin, kan du bruke følgende kommando til å kopiere den offentlige nøkkelen:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Logg inn på serveren din ved å bruke SSH-nøkler

Etter å ha fullført trinnene ovenfor, skal du kunne logge deg på den eksterne serveren uten å bli bedt om et passord.

For å teste den, prøv å logge deg på serveren din via SSH:

ssh remote_username@server_ip_address

Deaktiverer SSH-passordautentisering

Deaktivering av passordgodkjenning gir serveren et ekstra lag med sikkerhet.

Før du deaktiverer SSH-passordgodkjenning, må du sørge for at du kan logge deg på serveren din uten passord, og at brukeren du logger på med har sudo-rettigheter.

Logg deg på din eksterne server:

ssh sudo_user@server_ip_address

Åpne SSH-konfigurasjonsfilen /etc/ssh/sshd_config med tekstredigereren:

sudo nano /etc/ssh/sshd_config

Søk etter følgende direktiver og endre som følger:

/ Etc / ssh / sshd_config

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

Når du er ferdig, lagrer du filen og start SSH-tjenesten på nytt ved å skrive:

sudo systemctl restart ssh

På dette tidspunktet er den passordbaserte godkjenningen deaktivert.

Konklusjon

I denne opplæringen har du lært hvordan du genererer et nytt SSH-nøkkelpar og konfigurerer en SSH-nøkkelbasert godkjenning. Du kan legge til samme nøkkel til flere eksterne servere. Vi har også vist deg hvordan du deaktiverer SSH-passordgodkjenning og legger til et ekstra lag med sikkerhet på serveren din.

Som standard lytter SSH på port 22. Endring av standard SSH-port reduserer risikoen for automatiserte angrep.

ubuntu ssh sikkerhet