Hoe een SSH-sleutel op Linux in te stellen

click fraud protection

SSH is een geweldige technologie; je kunt het gebruiken om verberg VPN-verkeer hiermee beveiligt u uw 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 je een ontwikkelaar bent die verbinding wil maken met veel machines SSH tegelijk met een Bash-script, of gewoon iemand die Secure Shell gebruikt en het beu is om wachtwoorden in te voeren, is er een oplossing: wachtwoordloze SSH. Dit proces omvat het genereren van een veilige SSH-sleutel op de hostcomputer en deze te 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 leest u hoe u dit voor elkaar krijgt.

Wat zijn SSH-sleutels?

Een SSH-sleutel is een uniek identificatiebestand dat wordt gebruikt met Secure Shell. Het doel van deze sleutels is om de gebruiker een unieke identiteit te geven en ze als 'vertrouwd' te markeren wanneer ze inloggen. Deze sleutels zelf zijn meer dan bestanden die iemands identiteit bewijzen. In feite kunnen gebruikers met SSH inloggen met een sleutel in plaats van met een wachtwoord. Dit betekent dat u, in plaats van gedwongen te worden om elke keer dat u inlogt via SSH een wachtwoord in te voeren, de SSH-sleutel gebruikt.

instagram viewer

De SSH-sleutel wordt ergens veilig op uw Linux-installatie geplaatst en van daaruit kunt u zo vaak als u wilt inloggen op de externe machine zonder wachtwoord.

Veilige SSH-sleutels genereren

Het genereren van een veilige SSH-sleutel vereist eerst dat SSH actief is. Begrijp dat dit niet noodzakelijkerwijs betekent dat u een SSH-server nodig heeft. Alleen dat de basis SSH-tools en technologieën op uw Linux-pc draaien. Weet u niet zeker hoe u SSH moet instellen? Volg hier onze gids.

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 ze naar de SSH-hostcomputer. Het werkt niet.

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

ssh-keygen -t rsa

Rennen ssh-keygen zal afdrukken "Genereren van publiek / privaat RSA-sleutelpaar". Dit betekent dat het systeem u zowel een openbare sleutel als een privésleutel genereert om te gebruiken. Openbare sleutels zijn degene die iedereen kan gebruiken, en het zou goed moeten zijn om uit te delen. Een privésleutel daarentegen is iets dat u nooit met iemand mag delen. Vandaar de naam 'privé'.

De sleutels besparen zichzelf op /home / gebruikersnaam / .ssh / id_rsa.

Notitie: NIET VERWIJDEREN de ~ / .ssh map, omdat deze uw sleutels bevat. Als u op een of andere manier 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 je buitensluiten.

SSH-sleutels op externe machine

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

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

ssh gebruikersnaam @ remote-hostnaam mkdir -p .ssh

Het uitvoeren van deze ssh-opdracht maakt een verborgen ~ / .ssh map in de thuismap 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 vanaf de SSH-hostmachine naar de externe computer die de sleutels nodig heeft:

cat .ssh / id_rsa.pub | ssh gebruikersnaam @ externe-hostnaam 'kat >> .ssh / geautoriseerde_sleutels'

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

Een back-up maken van SSH-sleutels

SSH-sleutels zijn nuttige dingen en elk is uniek. Daarom is een back-up maken de beste manier van handelen. Het probleem is dat als je het ergens anders opslaat, iemand je SSH-sleutel kan vinden, bewaar hem dan en gebruik hem voor zichzelf. De vraag is dus: wat is een goede manier om veilig een back-up te maken van een SSH-sleutel? Versleuteling.

De snelste, meest efficiënte (en gemakkelijkste) manier om te versleutelen is door GnuPG te gebruiken. De tool zelf is ingebouwd in de meeste encryptietools die al op Linux staan ​​en is de beste keuze wanneer het versleutelen van bestanden ter sprake komt. Om GnuPG te installeren, opent u een terminal en zoekt u in uw pakketbeheerder naar "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 meer nodig om elk afzonderlijk bestand in de ~ / .ssh map.

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

Start het coderingsproces wanneer de compressie is voltooid.

Opmerking: voer vóór het coderen uit gpg in de terminal om een ​​nieuwe sleutelhanger te genereren.

gpg -c ssh-stuff.tar.gz

Wanneer het coderingsproces is voltooid, plaatst 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 uw back-uparchief te decoderen:

gpg ssh-stuff.tar.gz.gpg
watch instagram story