Server

Hoe wachtwoordloze SSH Login in Linux in te stellen

Hoe wachtwoordloze SSH Login in Linux in te stellen

Secure Shell of SSH is een bekend open-source netwerkprotocol. Het protocol wordt gebruikt om op afstand in te loggen op andere machines. Daarom zou het gemakkelijk zijn om een ​​​​aantal opdrachten uit te voeren en elke toepassing op het externe apparaat soepel te starten zonder dat u in de buurt van de externe machine hoeft te zijn.  Bovendien is het SSH-protocol zeer vertrouwd en veilig. Gebruikers zijn altijd afhankelijk van het SSH-protocol om bestanden tussen twee verschillende apparaten te kopiëren.

Om een ​​SSH-verbinding met de externe machine tot stand te brengen, moet u over het algemeen de gebruikersnaam en het wachtwoord voor de externe machine invoeren enter. Maar wat als u een veiligere methode nodig heeft dan het gebruik van de gebruikersnaam en het wachtwoord bij elke login?? Dit kan worden gedaan met behulp van een SSH-sleutel die is gegenereerd op de clientcomputer en vervolgens is gekopieerd naar de externe machine. Met extra kleine configuraties kunt u veilig inloggen op de externe machine zonder elke keer een gebruikersnaam en wachtwoord te gebruiken. Het gebruik van een SSH-sleutel in plaats van de gebruikersnaam en het wachtwoord bij elke login is veel veiliger; alleen de machine met de juiste SSH-sleutel kan snel inloggen.

Vandaag laten we u zien hoe u een SSH-verbinding tot stand kunt brengen zonder dat u het wachtwoord van de externe machine hoeft in te voeren. Gewoonlijk kan het gebruik van een wachtwoordloze login worden gebruikt om snel bestanden tussen verschillende machines over te dragen. Maar laten we, voordat we met onze tutorial beginnen, eens kijken naar onze omgeving.

Voorbereiding van de omgeving

Het zou het beste zijn als u twee machines had, de client en de machines op afstand. Bijna al het werk zal worden gedaan vanaf de clientcomputer die zal worden gebruikt om verbinding te maken met het externe apparaat. Beide apparaten zijn Ubuntu met de volgende IP's

Nog één ding voordat u begint, zorg ervoor dat beide machines up-to-date zijn met behulp van de volgende opdrachten:

sudo apt update sudo apt upgrade

Laten we nu beginnen met onze gids.

Wachtwoordloze SSH-aanmelding instellen

Stap 1. Controleer vanaf de clientcomputer of er een SSH-sleutel is gegenereerd voordat u de volgende opdracht gebruikt:.

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

Van clientcomputer Controleren op bestaande SSH-sleutels

Zoals je kunt opmerken, als je nog geen SSH-sleutel hebt gegenereerd, krijg je het bericht "No such file or directory". Anders krijgt u snel de beschikbare sleutels als ze bestaan.

Stap 2. Aangezien je nog geen SSH-sleutels hebt gegenereerd, is het tijd om een ​​nieuwe SSH-sleutel te genereren met de volgende opdracht:

ssh-keygen -t rsa -b 4096

Van Client Machine Genereer SSH

Meestal genereert de vorige opdracht nieuwe twee SSH-sleutels in twee verschillende bestanden. Beide bestanden worden opgeslagen in een verborgen map met de naam ".ssh" onder de huidige homedirectory van de gebruiker. U kunt een privésleutel vinden die is opgeslagen in een bestand met de naam id_dsa en een andere openbare sleutel in een bestand met de naam id_dsa.kroeg. Bovendien wordt u gevraagd om een ​​wachtwoordzin toe te voegen die wordt gebruikt om de gegenereerde sleutels te beschermen, en u kunt deze gebruiken terwijl u verbinding maakt via SSH. Maar u kunt op de "Enter” knop om er geen te gebruiken.

Stap 3. Nu kunt u de inhoud van de .ssh map om ervoor te zorgen dat beide sleutels zijn gemaakt.

ls -l /home/tuts/.ssh/

Vanaf clientcomputer Controleer of beide sleutels zijn gemaakt

Stap 4. U kunt er ook voor zorgen dat het bestand een sleutel bevat met behulp van de volgende opdracht:

ssh-keygen -lv

Van Client Machine Display-vingerafdruk

Stap 5. Een voorbeeld van de inhoud van het openbare-sleutelbestand bekijken.

kat .ssh/id_rsa.kroeg

Van clientcomputer SSH-sleutelbestandsinhoud weergeven

Stap 6. Zorg er nu vanaf de externe machine voor dat SSH is geïnstalleerd. Als het niet is geïnstalleerd, kunt u de volgende opdracht gebruiken:.

sudo apt install ssh

Vanaf de externe machine Installeer het SSH-pakket

Stap 7. Ga terug naar de clientcomputer, maak verbinding met de externe computer en maak een nieuwe map met de naam .ssh.

sudo ssh remote_machine_username@remote_machine_IP mkdir -p .ssh

Zorg ervoor dat u de remote_machine_username vervangt door de echte gebruikersnaam en de remote_machine_IP door het externe IP.

Vanaf de clientcomputer Directory maken op de externe machine

Stap 8. Laten we vervolgens van de clientcomputer de eerder gegenereerde openbare SSH-sleutel naar de externe machine kopiëren. Het zou helpen als u de openbare sleutel in een bestand met de naam plakt "geautoriseerde_sleutels". Het wordt ten zeerste aanbevolen om de bestandsnaam niet te wijzigen, want wanneer u een SSH-verbinding tot stand brengt, is het eerste bestand dat het besturingssysteem controleert de "geautoriseerde_sleutels" het dossier. Als het systeem het bestand niet heeft gevonden, wordt u gevraagd een gebruikersnaam en wachtwoord in te voeren om in te loggen op de externe machine.

sudo kat .ssh/id_rsa.kroeg | ssh remote_machine_username@remote_machine_IP 'kat >> .ssh/authorized_keys'

Kopieer de SSH-sleutel van de clientcomputer naar de externe machine

Stap 9. Zorg ervoor dat vanaf de externe machine de openbare sleutel met succes is gekopieerd met de naam Authorized_keys.

ls .ssh/cat .ssh/authorized_keys

Controleer vanaf de externe machine SSH-sleutel Bestand succesvol gekopieerd

Stap 10. Laten we nu vanaf de clientcomputer proberen een SSH-verbinding tot stand te brengen zonder gebruikersnaam en wachtwoord.

ssh remote_machine_username@remote_machine_IP

Vanaf de clientcomputer Maak verbinding met de externe machine

Zoals u kunt zien, wordt u niet gevraagd om een ​​gebruikersnaam of wachtwoord in te voeren.

Wachtwoordverificatie uitschakelen

Om wachtwoordverificatie met de openbare sleutel uit te schakelen, moet u eerst het SSH-configuratiebestand van de externe machine bewerken en de optie voor wachtwoordverificatie uitschakelen. Hieronder staan ​​de stappen om dit te doen.

Stap 1. Open vanaf de externe machine het ssh-configuratiebestand met uw favoriete editor.

vi /etc/ssh/sshd_config

Open vanaf de externe machine het SSH-configuratiebestand

Stap 2. Scroll naar het einde van het SSH-configuratiebestand en voeg de volgende paar regels toe om de wachtwoordverificatie uit te schakelen:

RSAAuthenticatie ja PubkeyAuthenticatie ja WachtwoordAuthenticatie nee GebruikPAM nee ChallengeResponseAuthenticatie nee

Vanaf de externe machine SSH-configuratiebestand bewerken

Stap 3. Opslaan en uw bestand afsluiten.

Stap 4. Start ten slotte de SSH-service opnieuw en probeer opnieuw een nieuwe verbinding tot stand te brengen van de clientcomputer naar de externe machine.

Start de SSH-service op afstand opnieuw

Dat is het! Je hebt zojuist geleerd hoe je een SSH-verbinding tot stand kunt brengen zonder wachtwoord. Ik hoop dat je ervan genoten hebt.

Linkermuisknop werkt niet op Windows 10
Als u een speciale muis gebruikt met uw laptop of desktopcomputer, maar de linkermuisknop werkt niet not op Windows 10/8/7 om wat voor reden dan ook, ...
Cursor springt of beweegt willekeurig tijdens het typen in Windows 10
Als u merkt dat uw muiscursor vanzelf springt of beweegt, automatisch, willekeurig tijdens het typen op een Windows-laptop of -computer, dan kunnen en...
De scrollrichting van de muis en touchpads omkeren in Windows 10
Muis en Touchpads maken computergebruik niet alleen eenvoudig, maar ook efficiënter en minder tijdrovend. We kunnen ons een leven zonder deze apparate...