Android

Hoe SSH-toetsen op Debian in te stellen 9

[Debian 9] Tutorial SSH Server Configuration

[Debian 9] Tutorial SSH Server Configuration

Inhoudsopgave:

Anonim

Secure Shell (SSH) is een cryptografisch netwerkprotocol dat wordt gebruikt voor een veilige verbinding tussen een client en een server en ondersteunt verschillende authenticatiemechanismen.

De twee populairste mechanismen zijn op wachtwoord gebaseerde en op publieke sleutels gebaseerde authenticatie. Het gebruik van SSH-sleutels is veiliger en handiger dan traditionele wachtwoordverificatie.

In deze tutorial zullen we beschrijven hoe SSH-sleutels op Debian 9-systemen kunnen worden gegenereerd. We laten u ook zien hoe u een op SSH-sleutel gebaseerde verificatie instelt en verbinding maakt met uw externe Linux-servers zonder een wachtwoord in te voeren.

SSH-sleutels maken op Debian

Voordat u eerst een nieuw SSH-sleutelpaar genereert, controleert u op bestaande SSH-sleutels op uw Debian-clientmachine. U kunt dat doen door het volgende ls-commando uit te voeren:

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

Als de uitvoer van de bovenstaande opdracht zoiets bevat als No such file or directory of no matches found , betekent dit dat u geen SSH-sleutels hebt en kunt u doorgaan met de volgende stap en een nieuw SSH-sleutelpaar genereren.

Als er bestaande sleutels zijn, kunt u deze gebruiken en de volgende stap overslaan of een back-up maken van de oude sleutels en nieuwe genereren.

Begin met het genereren van een nieuw 4096-bits SSH-sleutelpaar met uw e-mailadres als reactie met de volgende opdracht:

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

De uitvoer ziet er als volgt uit:

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

Druk op Enter om de standaardbestandslocatie en bestandsnaam te accepteren.

Vervolgens wordt u gevraagd een veilige wachtwoordzin te typen. Of u een wachtwoordzin wilt gebruiken, het is aan u. Met wachtwoordzin wordt een extra beveiligingslaag aan uw sleutel toegevoegd.

Enter passphrase (empty for no passphrase):

De hele interactie ziet er zo uit:

Typ het volgende om te controleren of het SSH-sleutelpaar is gegenereerd:

ls ~/.ssh/id_*

De output zou er ongeveer zo uit moeten zien:

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

Kopieer de openbare sleutel naar de server

Nu u uw SSH-sleutelpaar hebt, is de volgende stap het kopiëren van de openbare sleutel naar de server die u wilt beheren.

De eenvoudigste en aanbevolen manier om de openbare sleutel naar de externe server te kopiëren, is met het hulpprogramma ssh-copy-id .

Tun op uw lokale machine-terminal de volgende opdracht:

ssh-copy-id remote_username@server_ip_address

U wordt gevraagd het wachtwoord voor remote_username te voeren:

remote_username@server_ip_address's password:

Nadat de gebruiker is geverifieerd, wordt de openbare sleutel ~/.ssh/id_rsa.pub toegevoegd aan het bestand ~/.ssh/authorized_keys en wordt de verbinding verbroken.

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.

Als het hulpprogramma ssh-copy-id niet beschikbaar is op uw lokale computer, kunt u de volgende opdracht gebruiken om de openbare sleutel te kopiëren:

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 in op de server met behulp van SSH-sleutels

Op dit moment moet u zich bij de externe server kunnen aanmelden zonder dat u om een ​​wachtwoord wordt gevraagd.

Probeer het via SSH te verbinden met de server om het te testen:

ssh remote_username@server_ip_address

SSH-wachtwoordverificatie uitschakelen

Om een ​​extra beveiligingslaag aan uw server toe te voegen, kunt u de wachtwoordverificatie voor SSH uitschakelen.

Voordat u SSH-wachtwoordverificatie uitschakelt, moet u ervoor zorgen dat u zich bij uw server kunt aanmelden zonder wachtwoord en dat de gebruiker waarmee u zich aanmeldt sudo-rechten heeft.

Log in op uw externe server:

ssh sudo_user@server_ip_address

Open het SSH-configuratiebestand /etc/ssh/sshd_config :

sudo nano /etc/ssh/sshd_config

Zoek naar de volgende richtlijnen en wijzig deze als volgt:

/ Etc / ssh / sshd_config

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

Als u klaar bent, slaat u het bestand op en start u de SSH-service opnieuw met de volgende opdracht:

sudo systemctl restart ssh

Op dit moment is de op wachtwoord gebaseerde authenticatie uitgeschakeld.

Conclusie

In deze zelfstudie hebt u geleerd hoe u een nieuw SSH-sleutelpaar kunt genereren en een op SSH-sleutel gebaseerde verificatie kunt instellen. U kunt dezelfde sleutel toevoegen aan meerdere externe servers.

We hebben ook laten zien hoe u SSH-wachtwoordverificatie kunt uitschakelen en een extra beveiligingslaag aan uw server kunt toevoegen.

Standaard luistert SSH op poort 22. Het wijzigen van de standaard SSH-poort vermindert het risico op geautomatiseerde aanvallen.

debian ssh-beveiliging