Android

Slik konfigurerer du passordløs ssh-pålogging

Uprooted Red Oak Recovery | Urban Logging

Uprooted Red Oak Recovery | Urban Logging

Innholdsfortegnelse:

Anonim

Secure Shell (SSH) er en kryptografisk nettverksprotokoll som brukes for 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.

I denne opplæringen vil vi vise deg hvordan du konfigurerer en SSH-nøkkelbasert godkjenning, samt hvordan du kobler til Linux-serveren din uten å oppgi et passord.

Konfigurer SSH-passordløs pålogging

For å sette opp en passordløs SSH-pålogging i Linux, alt du trenger å gjøre er å generere en offentlig autentiseringsnøkkel og legge den til filen eksternt vert ~/.ssh/authorized_keys .

Følgende trinn vil beskrive prosessen for å konfigurere passordløs SSH-pålogging:

  1. Se etter eksisterende SSH-nøkkelpar.

    Før du genererer et nytt SSH-nøkkelpar, må du først sjekke om du allerede har en SSH-nøkkel på klientmaskinen fordi du ikke vil overskrive de eksisterende nøklene.

    Kjør følgende ls-kommando for å se om eksisterende SSH-nøkler er til stede:

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

    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 en ny.

    Generer et nytt SSH-nøkkelpar.

    Følgende kommando vil generere et nytt 4096 bits SSH-nøkkelpar med e-postadressen din som en kommentar:

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

    Trykk Enter å godta standard filplassering og filnavn:

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

    Deretter ber ssh-keygen verktøyet deg 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. I de fleste tilfeller bruker utviklere og systemadministratorer SSH uten en passordfrase fordi de er nyttige for helautomatiske prosesser. Hvis du ikke vil bruke passordfrase, trykk bare Enter

    Enter passphrase (empty for no passphrase):

    Hele samspillet ser slik ut:

    For å være sikker på at SSH-nøklene er generert, kan du liste opp de nye private og offentlige nøklene med:

    ls ~/.ssh/id_*

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

    Kopier den offentlige nøkkelen

    Nå som du har generert et SSH-nøkkelpar, må du kopiere den offentlige nøkkelen til serveren du vil administrere for å kunne logge inn på serveren din uten passord.

    Den enkleste måten å kopiere den offentlige nøkkelen til serveren din er å bruke en kommando 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 til filen authorized_keys eksterne brukere og tilkoblingen blir lukket.

    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 bare prøv å logge inn på serveren din via SSH:

    ssh remote_username@server_ip_address

    Hvis alt gikk bra, blir du logget inn umiddelbart.

Deaktiverer SSH-passordautentisering

For å legge til et ekstra lag med sikkerhet på serveren din kan du deaktivere passordgodkjenningen for SSH.

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

Følgende opplæringsprogrammer beskriver hvordan du konfigurerer sudo-tilgang:

  1. Logg deg på din eksterne server med SSH-nøkler, enten som en bruker med sudo-rettigheter eller root:

    ssh sudo_user@server_ip_address

    Åpne SSH-konfigurasjonsfilen /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.

    Kjør følgende kommando på Ubuntu- eller Debian-servere:

    sudo systemctl restart ssh

    Kjør følgende kommando på CentOS- eller Fedora-servere:

    sudo systemctl restart sshd

Konklusjon

I denne opplæringen har du lært hvordan du konfigurerer en SSH-nøkkelbasert autentisering, slik at du kan logge deg på den eksterne serveren uten å oppgi et brukerpassord. 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.

ssh sikkerhet