Hoe wachtwoordloze SSH-aanmeldingen in te schakelen onder Linux
Het is een uitstekend idee om u zonder wachtwoord bij uw beveiligde server aan te melden. Serieus, doe het weg. Het is niet nodig om een wachtwoord te gebruiken voor een van de meest aangevallen services op webservers, toch?
Oké, genoeg grapje. Het is wel waar. Standaard authenticatie op basis van wachtwoord op SSH is een slecht idee. Wachtwoorden kunnen vrij gemakkelijk worden verbroken en als ze het enige zijn dat tussen een aanvaller en onbelemmerde toegang tot uw server staat, moet u zeker nerveus zijn.
Daarom is RSA-sleutelgebaseerde authenticatie veel beter. U kunt uw Linux-server zodanig configureren dat alleen toegang wordt toegestaan vanaf computers met de RSA-sleutels die al zijn geaccepteerd. Iedereen anders zal onmiddellijk worden afgewezen. Als extra voordeel kunt u deze sleutels met of zonder een wachtwoord maken, wat geheel aan u is. Een sterke sleutel zonder wachtwoord is in de meeste gevallen echter prima.
Als je thuis ook Linux-apparaten gebruikt, heb je het extra voordeel van gemak. Stel dat u vanaf uw laptop SSH wilt invoeren op uw Linux-werkstation. Wilt u echt elke keer uw wachtwoord invoeren? SSH-sleutels instellen, en dat is ook niet nodig.
Installeer de pakketten
Er zijn een paar pakketten die je nodig hebt. Waarschijnlijk heb je er al een aantal, maar het is een goed idee om dit te controleren. De pakketten zijn verschillend op de server en de client, maar er is ook een goede kans dat beide machines servers en clients voor elkaar zijn (thuissituatie), dus u wilt beide sets pakketten installeren.
Op de server
De server heeft alleen de OpenSSH-service nodig die is geïnstalleerd en wordt gebruikt. Het is niet standaard op Debian- en Ubuntu-systemen. Als u dit nog niet hebt geïnstalleerd, doet u dat.
sudo apt install opensh-server
Op de client
De client heeft het OpenSSH-clientpakket nodig. OpenSSH heeft een ingebouwd hulpprogramma voor het genereren van sleutels.
sudo apt installeer openssh-client
Genereer uw sleutel
Het is heel eenvoudig om je sleutel te genereren. Vertel OpenSSH dat je de sleutel moet genereren. Het is ook een goed idee om het aantal bits met de vlag -b
en het type met -t
. Een 4096-bitsleutel is het beste. Het biedt een sterkere codering.
ssh-keygen -b 4096 -t rsa
Eerst zal het hulpprogramma vragen waar u de sleutel wilt opslaan. Druk op Enter voor de standaardmap. Dan vraagt het om een wachtwoord. Laat het leeg voor een wachtwoordloze sleutel en wachtwoordloze authenticatie. Als u een wachtwoord voor uw sleutel wilt gebruiken, voert u dit in.
Het duurt een aantal seconden voordat uw computer uw sleutel genereert. Als het klaar is, zal het u vertellen dat het klaar is en een ASCII-afbeelding van de kunst afdrukken.
Verzend uw sleutel
Als u uw sleutel wilt gebruiken, moet u deze naar uw server verzenden. OpenSSH heeft daar ook een ander ingebouwd hulpprogramma voor. Vertel het waar uw sleutel is en met welke gebruiker op de server het verbonden is.
ssh-copy-id -i ~ / .ssh / id_rsa.pub [email protected]
Voer het IP-adres van de server in. Het is net alsof je de server via SSH benadert (jij bent), maar het is gewoon de sleutel overzenden.
Probeer daarna opnieuw toegang te krijgen tot de server via SSH. Deze keer zou het je gewoon binnen moeten laten zonder een wachtwoord.
SSH configureren om wachtwoorden te blokkeren
Voor de beste beveiliging moet u SSH-wachtwoordaanmeldingen op de server uitschakelen. De SSH-serverconfiguratie is te vinden op "/ etc / ssh / sshd_config." Open dat bestand op de server met sudo
en je favoriete teksteditor.
Zoek de onderstaande regels en bewerk ze om er als volgt uit te zien. Negeer beide vermeldingen en wijzig de waarden in no
.
PasswordAuthentication no PermitEmptyPasswords no
Dat zal niets doen als u PAM-verificatie ingeschakeld laat. Zoek de regel hieronder en zet deze op no
.
UsePAM-nr
Nadat de vermeldingen zijn gewijzigd, slaat u het bestand op en sluit u het en start u de SSH-server opnieuw op zodat deze van kracht worden.
sudo systemctl restart sshd
Als u nog steeds vastbesloten bent om de wachtwoordauthenticatiemethode te behouden, vergeet dan niet om twee-factorenauthenticatie in te stellen als extra beschermingslaag.
Dat is het! Uw server is nu veel veiliger zonder wachtwoorden. Je hebt ook het extra voordeel dat je ze niet hoeft in te typen. Je kunt ook je enkele sleutel uitwisselen met zoveel servers als je maar wilt.