Als u regelmatig SSH gebruikt om verbinding te maken met een externe host, is een van de manieren om de verbinding te beveiligen een openbare / persoonlijke SSH-sleutel, zodat er geen wachtwoord via het netwerk wordt verzonden en kan worden voorkomen dat brute force-aanvallen worden uitgevoerd.

In Linux is het eenvoudig om een ​​publieke / private SSH-sleutel te maken.

1. Open een terminal. Type:

 ssh-keygen -t rsa 

U kunt ook de DSA-technologie (Digital Signing Algorithm) gebruiken om de openbare / privésleutel te maken.

 ssh-keygen -t dsa 

Opmerking : Er is veel discussie geweest over de veiligheid van DSA en RSA. Naar mijn mening maakt het niet uit welke van de twee je kiest, tenzij je heel eigenwijs bent en je houdt van het technische detail tussen de twee technologieën. Beide zullen prima werken.

2. In het volgende scherm zou u een prompt moeten zien, waarin u wordt gevraagd naar de locatie waar u de sleutel wilt opslaan. De standaardlocatie is de map .ssh in uw basismap. U kunt gewoon op "Enter" drukken om de standaardinstelling te accepteren.

3. Vervolgens wordt u gevraagd om de wachtwoordzin in te voeren. Dit is NIET de wachtwoordzin om verbinding te maken met uw externe host. Dit is de wachtwoordzin om de privésleutel te ontgrendelen zodat niemand toegang heeft tot uw externe server, zelfs als deze uw persoonlijke sleutel heeft gepakt. De wachtwoordzin is optioneel. Om het leeg te laten, drukt u gewoon op "Enter".

4. Uw openbare en persoonlijke SSH-sleutel moet nu worden gegenereerd. Open bestandsbeheer en ga naar de map .ssh . Je zou twee bestanden moeten zien: id_rsa en id_rsa.pub .

5. Upload het id_rsa.pub- bestand naar de basismap van uw externe host (ervan uitgaande dat uw externe host ook met Linux werkt). Maak via SSH verbinding met uw externe host en gebruik de volgende opdracht om de openbare sleutel naar de juiste locatie te verplaatsen.

 cat id_rsa.pub >> ~ / .ssh / authorized_keys rm id_rsa.pub 

6. Open het SSH-configuratiebestand nog steeds in uw externe host:

 sudo nano / etc / ssh / sshd_config 

Blader door het configuratiebestand en zorg ervoor dat de volgende kenmerken correct zijn ingesteld.

 RSAA-verificatie ja Pub-keyAuthenticatie ja WachtwoordAuthenticatie nr 

Druk op "ctrl + o" om het bestand te schrijven en op te slaan, volg "ctrl + x" om het bestand te sluiten.

7. Herstart ten slotte de SSH-server in de externe host

 sudo /etc/init.d/ssh herladen 

Dat is het. U kunt nu verbinding maken met uw externe host met de volgende opdracht:

 gebruikersnaam ssh -i / path-to-private-key @ remote-host-ip-address 

Afbeelding tegoed: eternicode @ DeviantArt