Android

Sådan konfigureres adgangskode uden ssh-login

Gipsvægge. Opsætning af gipsplader på gipsvæg. Sådan bygger du selv

Gipsvægge. Opsætning af gipsplader på gipsvæg. Sådan bygger du selv

Indholdsfortegnelse:

Anonim

Secure Shell (SSH) er en kryptografisk netværksprotokol, der bruges til sikker forbindelse mellem en klient og en server og understøtter forskellige godkendelsesmekanismer. De to mest populære mekanismer er adgangskodebaseret autentificering og offentlig nøglebaseret autentificering.

I denne tutorial vil vi vise dig, hvordan du opsætter en SSH-nøglebaseret godkendelse, samt hvordan du opretter forbindelse til din Linux-server uden at indtaste en adgangskode.

Opsætning af SSH-kodeord uden login

For at konfigurere et kodeordfrit SSH-login i Linux er alt hvad du behøver at gøre, at generere en offentlig godkendelsesnøgle og tilføje den til filen til eksterne hosts ~/.ssh/authorized_keys .

De følgende trin vil beskrive processen til konfiguration af kodeordløs SSH-login:

  1. Kontroller for eksisterende SSH-nøglepar.

    Før du genererer et nyt SSH-nøgleparre, skal du først kontrollere, om du allerede har en SSH-nøgle på din klientmaskine, fordi du ikke ønsker at overskrive dine eksisterende nøgler.

    Kør følgende ls-kommando for at se, om eksisterende SSH-nøgler er til stede:

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

    Hvis der er eksisterende nøgler, kan du enten bruge disse og springe over det næste trin eller tage backup af de gamle taster og generere en ny.

    Generer et nyt SSH-nøglepar.

    Den følgende kommando genererer et nyt 4096 bits SSH-nøglepar med din e-mail-adresse som en kommentar:

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

    Tryk på Enter at acceptere standard filplacering og filnavn:

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

    Dernæst beder ssh-keygen værktøjet dig om at indtaste en sikker adgangskode. Uanset om du vil bruge adgangskode, er det op til dig, hvis du vælger at bruge adgangskode, får du et ekstra lag af sikkerhed. I de fleste tilfælde bruger udviklere og systemadministratorer SSH uden en adgangssætning, fordi de er nyttige til fuldautomatiske processer. Hvis du ikke vil bruge adgangskode, skal du bare trykke på Enter

    Enter passphrase (empty for no passphrase):

    Hele interaktionen ser sådan ud:

    For at være sikker på, at SSH-nøglerne er genereret, kan du liste dine nye private og offentlige nøgler med:

    ls ~/.ssh/id_*

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

    Kopier den offentlige nøgle

    Nu hvor du har genereret et SSH-nøglepar, skal du kopiere den offentlige nøgle til den server, du vil administrere, for at kunne logge ind på din server uden en adgangskode.

    Den nemmeste måde at kopiere din offentlige nøgle til din server er at bruge en kommando kaldet ssh-copy-id . På din lokale maskinterminal type:

    ssh-copy-id remote_username@server_ip_address

    Du bliver bedt om at indtaste adgangskoden til remote_username :

    remote_username@server_ip_address's password:

    Når brugeren er godkendt, tilføjes den offentlige nøgle til filen til den eksterne bruger authorized_keys , og forbindelsen lukkes.

    Hvis ssh-copy-id værktøjet af en eller anden grund ikke er tilgængeligt på din lokale computer, kan du bruge følgende kommando til at kopiere den offentlige nøgle:

    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"

    Log ind på din server ved hjælp af SSH-nøgler

    Når du har udført ovenstående trin, skal du være i stand til at logge ind på fjernserveren uden at blive bedt om et kodeord.

    For at teste det skal du bare prøve at logge ind på din server via SSH:

    ssh remote_username@server_ip_address

    Hvis alt gik godt, vil du blive logget ind med det samme.

Deaktiverer SSH-adgangskodegodkendelse

For at tilføje et ekstra lag af sikkerhed til din server kan du deaktivere adgangskodegodkendelsen for SSH.

Inden du deaktiverer SSH-adgangskodegodkendelsen, skal du sikre dig, at du kan logge ind på din server uden en adgangskode, og at den bruger, du logger ind med, har sudo-privilegier.

Følgende tutorials beskriver, hvordan du konfigurerer sudo-adgang:

  1. Log ind på din fjernserver med SSH-nøgler, enten som en bruger med sudo-privilegier eller root:

    ssh sudo_user@server_ip_address

    Åbn SSH-konfigurationsfilen /etc/ssh/sshd_config , søg efter følgende direktiver og rediger som følger:

    / Etc / ssh / sshd_config

    PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

    Når du er færdig, skal du gemme filen og genstarte SSH-tjenesten.

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

    sudo systemctl restart ssh

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

    sudo systemctl restart sshd

Konklusion

I denne tutorial har du lært, hvordan du konfigurerer en SSH-nøglebaseret godkendelse, så du kan logge ind på din fjernserver uden at angive en brugeradgangskode. Du kan tilføje den samme nøgle til flere fjernserver.

Vi har også vist dig, hvordan du deaktiverer SSH-adgangskodegodkendelse og tilføjer et ekstra lag af sikkerhed til din server.

ssh sikkerhed