Android

Hvordan sette opp ssh-nøkler på centos 7

How to install and enable SSH on Linux

How to install and enable SSH on Linux

Innholdsfortegnelse:

Anonim

Secure Shell (SSH) er en kryptografisk nettverksprotokoll designet for en sikker forbindelse mellom en klient og en server.

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

Denne veiledningen forklarer hvordan du genererer SSH-nøkler på CentOS 7-systemer. 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å CentOS

Før du genererer et nytt SSH-nøkkelpar, er det en god idé å se etter eksisterende SSH-nøkler på CentOS-klientmaskinen.

For å gjøre dette, kjør følgende ls-kommando som viser alle offentlige nøkler hvis det er noen:

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

Hvis utdataene fra kommandoen returnerer noe som No such file or directory eller no matches found , betyr det at du ikke har SSH-nøkler på klientmaskinen, 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.

Begynn med å generere et nytt 4096 bits SSH-nøkkelpar med e-postadressen din som en kommentar:

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

Du blir bedt om å spesifisere filnavnet:

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 passordfrase. 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 CentOS Server

Nå som SSH-nøkkelparet er generert, 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 den eksterne serveren er ved å 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:

Skriv inn passordet, og når brukeren er autentisert, vil den offentlige nøkkelen ~/.ssh/id_rsa.pub bli lagt til den eksterne brukeren ~/.ssh/authorized_keys . Tilkoblingen vil bli 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 ikke er tilgjengelig på din lokale datamaskin, bruk følgende kommando for å 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, bør du kunne logge deg på den eksterne serveren uten å bli bedt om et passord.

For å bekrefte det, prøv å logge deg på serveren din via SSH:

ssh remote_username@server_ip_address

Deaktiverer SSH-passordautentisering

Hvis du vil legge til et ekstra lag med sikkerhet til den eksterne serveren din, kan du deaktivere SSH-passordgodkjenning.

Før du fortsetter, må du sørge for å logge deg på serveren din uten passord som bruker med sudo-rettigheter.

Følg trinnene nedenfor for å deaktivere SSH-passordgodkjenning:

  1. 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.

centos ssh sikkerhet