- - Hoe een SSH-sleutel op Linux in te stellen

Hoe een SSH-sleutel op Linux in te stellen

SSH is een geweldige technologie; je kunt het gebruiken om te verbergenVPN-verkeer ermee, beveiligde verbinding met websites en meer. Het enige probleem is dat elke keer dat u probeert in te loggen op een externe machine, u uw wachtwoord moet invoeren en dat kan vervelend zijn. Als u een ontwikkelaar bent die in één keer via SSH verbinding wil maken met veel machines via een Bash-script, of gewoon iemand bent die Secure Shell gebruikt en het beu is om wachtwoorden in te voeren, is er een oplossing: SSH zonder wachtwoord. Dit proces omvat het genereren van een veilige SSH-sleutel op de hostmachine en deze delen als een manier om toegang te krijgen tot de pc. Hierdoor kan iedereen met de sleutel inloggen, zelfs als ze het wachtwoord niet kennen. Hier is hoe het aan de gang te krijgen.

Wat zijn SSH-sleutels?

Een SSH-sleutel is een uniek identificatiebestand datwordt gebruikt met Secure Shell. Het doel van deze sleutels is om de gebruiker een unieke identiteit te geven en deze als "vertrouwd" te markeren bij het inloggen. Deze sleutels zelf zijn meer dan bestanden die iemands identiteit bewijzen. SSH laat gebruikers in feite inloggen met een sleutel in plaats van een wachtwoord. Dit betekent dat u in plaats van dat u elke keer dat u zich via SSH aanmeldt een wachtwoord moet invoeren, de SSH-sleutel gebruikt.

De SSH-sleutel wordt ergens veilig op uw Linux-installatie geplaatst en van daaruit kunt u zich zonder wachtwoord bij de externe machine aanmelden.

Beveiligde SSH-sleutels genereren

Dat vereist eerst het genereren van een veilige SSH-sleutelSSH is actief. Begrijp alsjeblieft dat dit niet noodzakelijk betekent dat je een SSH-server nodig hebt. Alleen dat de standaard SSH-tools en technologieën op uw Linux-pc worden uitgevoerd. Weet u niet zeker hoe u SSH moet instellen? Volg onze gids hier.

Genereer altijd de SSH-sleutels op het systeem dat de SSH-server host. Probeer ze niet te genereren op de server die geen SSH-sessie host en kopieer deze naar de SSH-hostmachine. Het lukt niet.

Open een terminal om het sleutelgeneratieproces te starten. Voer in het terminalvenster uit:

ssh-keygen -t rsa

Rennen ssh-keygen zal afdrukken “Publieke / private rsa sleutel genererenpaar". Dit betekent dat het systeem u zowel een openbare sleutel als een privésleutel genereert die u kunt gebruiken. Publieke sleutels zijn sleutels die iedereen kan gebruiken, en dat zou prima moeten zijn. Een privésleutel is daarentegen iets dat u nooit met iemand mag delen. Vandaar de naam "privé".

De toetsen slaan zichzelf op /home / gebruikersnaam / .ssh / id_rsa.

Opmerking: NIET VERWIJDEREN de ~ / .Ssh map, omdat deze uw sleutels bevat. Als u op enigerlei wijze met deze map knoeit en vervolgens op afstand probeert in te loggen op deze machine, mislukt de SSH-prompt. Het zal ook een waarschuwing afdrukken en u buitensluiten.

SSH-toetsen op externe machine

Nu dat de SSH-sleutels (zowel openbaar als privé)) zijn gemaakt en klaar voor gebruik, u moet ze kopiëren naar het systeem van waaruit u wilt inloggen. Het is belangrijk dat u dit proces herhaalt op alle machines die u via SSH wilt aanmelden. Anders moeten degenen die niet over de sleutel beschikken, zich met de wachtwoordmethode aanmelden.

Volg dit voorbeeld om de sleutels aan het externe systeem toe te voegen. Zorg ervoor dat u dit vanaf de hostmachine via SSH doet.

ssh username@remote-host-name mkdir -p .ssh

Als u deze ssh-opdracht uitvoert, wordt een verborgen ~ / .Ssh map in de basismap van de externe machine (met de gebruiker die werd gebruikt om in te loggen). Deze map is belangrijk, omdat we hier de nieuw gegenereerde SSH-sleutelbestanden zullen kopiëren.

Om de SSH-sleutelbestanden te kopiëren, voert u nog een andere opdracht uit van de SSH-hostmachine naar de externe machine die de sleutels nodig heeft:

cat .ssh/id_rsa.pub | ssh username@remote-host-name "cat >> .ssh/authorized_keys"

Het kopiëren duurt enkele seconden, afhankelijk van de netwerksnelheid. Als het klaar is, heeft de externe pc de gegenereerde sleutels en kan hij zich zonder wachtwoord aanmelden bij de SSH-host-pc.

Een back-up maken van SSH-sleutels

SSH-sleutels zijn nuttige dingen, en elk is datuniek. Daarom is back-up de beste manier van handelen. Het probleem is dat als u het ergens anders opslaat, iemand uw SSH-sleutel kan vinden, deze kan bewaren en voor zichzelf kan gebruiken. Dus de vraag is, wat is een goede manier om veilig een back-up van een SSH-sleutel te maken? Encryptie.

De snelste, meest efficiënte (en gemakkelijkste manier) omcoderen is om GnuPG te gebruiken. De tool zelf is ingebouwd in de meeste van de encryptietools die al op Linux staan ​​en is de go-to wanneer het coderen van bestanden aan de orde komt. Om GnuPG te installeren, opent u een terminal en zoekt u in uw pakketbeheerder op "gpg". Het programma moet gemakkelijk te vinden zijn, zelfs op zeer obscure Linux-distributies.

Zodra GPG actief is, start u het coderingsproces door uw te comprimeren ~ / .Ssh map in tar-archiefbestand. Als u dit doet, is het niet nodig om elk afzonderlijk bestand in de ~ / .Ssh map.

tar -czvf ssh-stuff.tar.gz /home/username/.ssh

Wanneer de compressie is voltooid, start u het coderingsproces.

Opmerking: voer voordat u codeert uit GPG in de terminal om een ​​nieuwe sleutelring te genereren.

gpg -c ssh-stuff.tar.gz

Wanneer het coderingsproces is voltooid, zal GnuPG een bestand met het label 'ssh-stuff.tar.gz.gpg“. Voel je vrij om de originele, ontgrendelde versie van het bestand te verwijderen. Ga als volgt te werk om je back-uparchief te decoderen:

gpg ssh-stuff.tar.gz.gpg
</ P>

Comments