SSH-sleutels instellen op Ubuntu 20.04

How Set Up Ssh Keys Ubuntu 20



Dit is een walkthrough waarin u leert hoe u SSH-sleutels instelt op Ubuntu 20.04. SSH-sleutels zorgen ervoor dat de veiligheid van uw servers en dat het inloggen van gebruikers de beveiliging niet in gevaar brengt. Het doet dit door het gebruikelijke wachtwoordverificatiesysteem opzij te zetten.

In een notendop, SSH of ‘secure shell’ is een versleuteld protocol, waarmee je op afstand verbinding kunt maken met een server en toegang hebt tot de bijbehorende informatie. Het biedt een veel veiligere manier van inloggen om een ​​veilige manier van inloggen te bieden zonder afbreuk te doen aan de veiligheid.







Stap 1: Maak het sleutelpaar

We beginnen met het maken van een sleutelpaar op het systeem van de klant, eerst met root-toegang per type in het volgende:



$ssh-keygen



Dit activeert de nieuwste ssh-keygen om standaard een 3072-bits RSA-sleutelpaar te maken. U kunt de vlag –b 4086 toevoegen om een ​​grotere sleutel te genereren. Druk op enter en het sleutelpaar wordt opgeslagen in de submap .ssh/. Houd er rekening mee dat als u een gast bent op een server waarop al een sleutel is geïnstalleerd, de prompt u zal vragen of u deze wilt overschrijven of niet. Als dat het geval is, typt u 'y' om een ​​ja aan te geven.





Vervolgens wordt u gevraagd of u een wachtwoordzin wilt toevoegen. U kunt zich afmelden, maar we raden u aan er een toe te voegen. Het versterkt het beveiligingsprotocol door een extra beschermingslaag te bieden die een onbevoegde gebruiker kan omzeilen.

Stap 2: Kopieer de openbare sleutel naar uw server

Vervolgens moeten we de openbare sleutel naar uw ubuntu-server overbrengen.



U kunt het hulpprogramma ssh-copy-id gebruiken met de volgende opdracht:

$ssh-copy-id gebruikersnaam@server_host

Dit zou de truc binnen een paar seconden moeten doen. Als de sleutel met succes is gekopieerd, gaat u verder met de derde stap.

Soms gebeurt het zo dat de ssh-copy-id-methode faalt, of gewoon niet beschikbaar is. In dit geval moet u het kopiëren via op wachtwoord gebaseerde SSH. Dit kunt u doen door het cat-commando te gebruiken en ervoor te zorgen dat u het >>-symbool toevoegt om aan de inhoud toe te voegen in plaats van het te overschrijven.

$kat~/.ssh/id_rsa.pub| sshremote_gebruikersnaam@server IP adres
'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

Als dit de eerste keer is dat u verbinding maakt met een nieuwe host, zal uw systeem u iets laten zien als:

Typ gewoon ja en druk op de knop Enter. Voer vervolgens het wachtwoord in voor het gebruikerstoegangsaccount en de openbare sleutel wordt naar uw Ubuntu-server gekopieerd.

In het geval dat de op een wachtwoord gebaseerde SSH-toegang u wordt geweigerd om een ​​of andere reden die u niet kunt vastpinnen, kunt u de openbare sleutel altijd gewoon handmatig kopiëren. Voeg de ~/.ssh/authorized_keys toe aan het id_rsa.pub-bestand op uw externe computer. Log vervolgens in op uw externe serveraccount en controleer of de ~SSH-directory bestaat. Als dit niet het geval is, typt u in:

$mkdir -P~/.ssh

Nu hoef je alleen nog maar de sleutel toe te voegen:

$gooide uitpublic_key_string>>~/.ssh/geautoriseerde_sleutels

$chmod -R Gaan= ~/.ssh

Zorg er ook voor dat u de ~SSH/ GEBRUIKER directory en NIET de hoofdmap:

$chown -Ryounis:younis ~/.ssh

Stap 3: Authenticeer de SSH-sleutels

De volgende stap is het verifiëren van de SSH-sleutels op de Ubuntu-server. Log eerst in op uw externe host:

$sshgebruikersnaam@remote_host

U wordt gevraagd de wachtwoordzinsleutel in te voeren die u in stap 2 hebt toegevoegd. Typ deze en ga verder. De authenticatie zal enige tijd duren en als het eenmaal is voltooid, wordt u naar een nieuwe interactieve shell op uw Ubuntu-server gebracht

Stap 4: Schakel de wachtwoordverificatie uit

Nu de SSH-sleutels zijn geverifieerd, hebt u het wachtwoordverificatiesysteem niet langer nodig.

Als de wachtwoordverificatie op uw server is ingeschakeld, is deze nog steeds vatbaar voor ongeautoriseerde gebruikerstoegang via brute force-aanvallen. Het zou dus beter zijn als u op wachtwoord gebaseerde authenticatie uitschakelt.

Controleer eerst of u de op SSH-sleutel gebaseerde authenticatie hebt ingesteld voor de wortel account op deze server. Als dit het geval is, moet u dit wijzigen in het sudo-bevoorrechte gebruikerstoegangsaccount op deze server, zodat de beheerderstoegang voor u openstaat in geval van nood of wanneer het systeem wordt geconfronteerd met verdachte activiteiten.

Nadat u beheerdersrechten hebt verleend aan uw account voor externe toegang, logt u in op de externe server met SSH-sleutels met root- of sudo-privileges. Gebruik vervolgens de volgende opdracht om toegang te krijgen tot het configuratiebestand van de SSH-daemon:

$sudogedit/enzovoort/ssh/sshd_config

Terwijl het bestand nu is geopend, zoekt u naar de map 'PasswordAuthentication' en typt u het volgende om de wachtwoordverificatie en op wachtwoord gebaseerde SSH-aanmeldingen uit te schakelen.

$/enzovoort/ssh/sshd_config
. . .
WachtwoordAuthenticatie nr
. . .

Om deze wijzigingen van kracht te zien, moet u de sshd-service opnieuw starten met de volgende opdracht:

$sudosystemctl herstartssh

Open uit voorzorg een nieuw terminalvenster en test of de SSH-service correct werkt voordat u uw huidige sessie afsluit.

Met uw geverifieerde SSH-sleutels zou u alles normaal moeten kunnen zien werken. U kunt alle huidige serversessies afsluiten.

Conclusie

Nu je een op SSH-sleutel gebaseerd authenticatiesysteem hebt, heb je het kwetsbare wachtwoordauthenticatiesysteem niet langer nodig, omdat je eenvoudig zonder wachtwoord kunt inloggen. Ik hoop dat je deze tutorial nuttig vond.