Android

Sådan konfigureres ssh-nøgler på debian 9

Introduction to Amazon Web Services by Leo Zhadanovsky

Introduction to Amazon Web Services by Leo Zhadanovsky

Indholdsfortegnelse:

Anonim

Secure Shell (SSH) er en kryptografisk netværksprotokol, der bruges til en sikker forbindelse mellem en klient og en server og understøtter forskellige godkendelsesmekanismer.

De to mest populære mekanismer er adgangskodebaseret og offentlig nøglebaseret godkendelse. Brug af SSH-taster er mere sikkert og praktisk end traditionel adgangskodegodkendelse.

I denne tutorial vil vi beskrive, hvordan man genererer SSH-nøgler på Debian 9-systemer. Vi vil også vise dig, hvordan du konfigurerer en SSH-nøglebaseret godkendelse og opretter forbindelse til dine eksterne Linux-servere uden at indtaste et kodeord.

Oprettelse af SSH-nøgler på Debian

Før du først genererer et nyt SSH-nøglepar, skal du kontrollere, om der findes eksisterende SSH-nøgler på din Debian-klientmaskine. Du kan gøre det ved at køre følgende ls-kommando:

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

Hvis output fra kommandoen ovenfor indeholder noget som No such file or directory eller no matches found betyder det, at du ikke har SSH-nøgler, og du kan fortsætte med det næste trin og generere et nyt SSH-nøglepar.

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

Start med at generere et nyt 4096 bits SSH-nøglepar med din e-mail-adresse som en kommentar ved hjælp af følgende kommando:

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

Outputet ligner det følgende:

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

Tryk på Enter at acceptere standard filplacering og filnavn.

Dernæst bliver du bedt om at indtaste en sikker adgangssætning. Uanset om du vil bruge adgangskode, er det op til dig. Med adgangssætning tilføjes et ekstra lag af sikkerhed til din nøgle.

Enter passphrase (empty for no passphrase):

Hele interaktionen ser sådan ud:

For at bekræfte, at SSH-nøgleparet blev genereret, skal du skrive:

ls ~/.ssh/id_*

Outputet skal se sådan ud:

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

Kopier den offentlige nøgle til serveren

Nu hvor du har dit SSH-nøglepar, er det næste trin at kopiere den offentlige nøgle til den server, du vil administrere.

Den nemmeste og anbefalede måde at kopiere den offentlige nøgle til den eksterne server er at bruge værktøjet ssh-copy-id .

Indstil følgende kommando på din lokale maskinterminal:

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 ~/.ssh/id_rsa.pub til den eksterne bruger ~/.ssh/authorized_keys , og forbindelsen lukkes.

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 værktøjet ssh-copy-id 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å serveren ved hjælp af SSH-nøgler

På dette tidspunkt skal du være i stand til at logge ind på fjernserveren uden at blive bedt om et kodeord.

For at teste det, prøv at oprette forbindelse til serveren via SSH:

ssh remote_username@server_ip_address

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-adgangskodegodkendelse, skal du sørge for, at du kan logge ind på din server uden en adgangskode, og den bruger, du logger på med, har sudo-privilegier.

Log ind på din fjernserver:

ssh sudo_user@server_ip_address

Åbn SSH-konfigurationsfilen /etc/ssh/sshd_config :

sudo nano /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 ved hjælp af følgende kommando:

sudo systemctl restart ssh

På dette tidspunkt er den adgangskodebaserede godkendelse deaktiveret.

Konklusion

I denne tutorial har du lært, hvordan du genererer et nyt SSH-nøglepar og opsætter en SSH-nøglebaseret godkendelse. Du kan tilføje den samme nøgle til flere fjernservere.

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

Som standard lytter SSH på port 22. Ændring af standard SSH-port reducerer risikoen for automatiske angreb.

debian ssh sikkerhed