Genereer SSH-sleutels op Linux

Generate Ssh Keys Linux



SSH betekent S ecure NS ell, en zoals de naam al zegt, wordt het gebruikt om een ​​veilige verbinding tot stand te brengen tussen de client en de server. Standaard ondersteunt elk op Linux gebaseerd besturingssysteem SSH. Het SSH-protocol wordt meestal gebruikt voor het op afstand openen, besturen en overdragen van bestanden. Dus in dit bericht laat je zien hoe je SSH-sleutels kunt genereren en deze kunt gebruiken om de server en waardevolle informatie te beschermen.







SSH-sleutel genereren

Wanneer we een SSH-sleutelpaar genereren, wordt dit in twee stappen gegenereerd. Een daarvan is het maken van een SSH-sleutel aan de clientzijde en de tweede is het kopiëren naar de server of een externe host. Een sleutelpaar bestaat uit privé- en openbare sleutelbestanden met de namen id_rsa en id_rsa.pub respectievelijk in de map ~/.ssh.

Het IP-adres van mijn clientsysteem is:

$ik ptot

192.168.18.130

Een SSH-sleutel kan worden gegenereerd door de opdracht ssh-keygen in de terminal uit te voeren.

$ssh-keygen

Het zal u vragen om de bestandsnaam in te voeren waarin u de privé- en openbare sleutel wilt opslaan, of u kunt kiezen voor de standaard geselecteerde bestanden id_rsa en id_rsa.pub in de .ssh-directory (/home/user/.ssh/id_rsa ). Druk op Enter om het standaard geleverde bestand te selecteren.

Vervolgens zal het om de wachtwoordzin vragen. Een wachtwoordzin is eigenlijk een soort extra beveiligingslaag om de verbinding tussen host en client te beveiligen. Wanneer u zich aanmeldt bij de host, zal deze opnieuw om de wachtwoordzin vragen. Voer dus ofwel de wachtwoordzin in, of u kunt deze leeg laten en op Enter drukken zonder een wachtwoordzin op te geven.

Zodra u klaar bent met de wachtwoordzin, moet de SSH-sleutel worden gegenereerd.

U kunt in de schermafbeelding zien dat de gegenereerde sleutel RSA 3072 is. Wat betekent dat?

Algoritmetype en grootte van SSH-sleutel

Het algoritmetype van de gegenereerde sleutel is standaard RSA en de bitgrootte is 3072 bit. Maar je kunt het veranderen als je wilt.

Er zijn drie hoofdtypen algoritmen voor het genereren van SSH-sleutels.

RSA – Rivest Shamir Adleman. Het is een sleutel met een minimale grootte van 2048 en is gebaseerd op de moeilijkheid om grote getallen te ontbinden.

DSA - Algoritme voor digitale handtekeningen. Deze sleutel wordt meestal gebruikt met een grootte van 1024.

ECDSA – Elliptic Curves Digital Signature Algorithm. Het ondersteunt 256, 384 en 521 bits.

Als u nu het gewenste algoritmetype en de bitgrootte wilt opgeven, kunt u het algoritmetype opgeven gevolgd door de -t-zin na de ssh-keygen-opdracht, en u kunt ook de bitgrootte opgeven, gevolgd door de -b uitdrukking. Het voorbeeld is als volgt,

$ssh-keygen -trsa-B 4096

Zoals je kunt zien in de schermafbeelding, is het algoritmetype van de sleutel RSA en is de bitgrootte 4096. Dat is geweldig.

De SSH-sleutel naar de host kopiëren

U kunt de SSH-sleutel eenvoudig naar de host kopiëren door de onderstaande opdracht in de terminal van de client uit te voeren.

$ssh-copy-id gebruikersnaam@host-ip-adres

Zorg ervoor dat u de gebruikersnaam en het host-ip-adres vervangt door uw gebruikersnaam en het IP-adres van de host. De gebruikersnaam en het IP-adres van mijn host is

Gebruikersnaam: linuxuser
IP-adres: 192.168.18.131

U kunt in dit stadium een ​​verbindingsfout tegenkomen die wordt geweigerd door poort 22. In geval van een fout, gelieve ons speciale artikel te bezoeken (Hoe op te lossen: Verbinding geweigerd door poort 22 Debian/Ubuntu – Linux Hint) voor het afhandelen van een dergelijke fout.

Na het uitvoeren van de bovenstaande opdracht, zal het van u bevestigen om de verbinding voort te zetten; typ ja om door te gaan.

Zodra het met succes is gekopieerd, bent u klaar om in te loggen op de machine van de server met behulp van de SSH-sleutel.

Log in op de server

Na het succesvol kopiëren van de SSH-sleutel naar de host, kunnen we inloggen op de host met behulp van de ssh-opdracht en door de gebruikersnaam en het IP-adres van de host op te geven met behulp van de volgende syntaxis.

$sshgebruikersnaam@host-ip-adres

Vergeet niet de gebruikersnaam en het IP-adres te vervangen door de gebruikersnaam en het IP-adres van uw host.

En hier bent u nu ingelogd op de machine van de host als u de ip a-opdracht in de terminal typt.

$ik ptot

Het toont het IP-adres van de hostmachine omdat u zich nu op de server bevindt.

Inpakken

Dit is hoe u SSH-sleutels kunt genereren, deze naar de hostmachine kunt kopiëren en toegang tot de host kunt krijgen met behulp van de SSH-sleutels. Heel erg bedankt!