How to generate an SSH Key on Centos 7 | RHEL7
Inhoudsopgave:
- SSH-sleutels maken op CentOS
- Kopieer de openbare sleutel naar CentOS Server
- Log in op uw server met behulp van SSH-sleutels
- SSH-wachtwoordverificatie uitschakelen
- Conclusie
Secure Shell (SSH) is een cryptografisch netwerkprotocol dat is ontworpen voor een veilige verbinding tussen een client en een server.
De twee meest populaire SSH-authenticatiemechanismen zijn op wachtwoord gebaseerde authenticatie en op publieke sleutels gebaseerde authenticatie. Het gebruik van SSH-sleutels is over het algemeen veiliger en handiger dan traditionele wachtwoordverificatie.
In deze zelfstudie wordt uitgelegd hoe u SSH-sleutels op CentOS 7-systemen kunt genereren. We laten u ook zien hoe u een op SSH-sleutel gebaseerde verificatie instelt en verbinding maakt met uw externe Linux-servers zonder een wachtwoord in te voeren.
SSH-sleutels maken op CentOS
Voordat u een nieuw SSH-sleutelpaar genereert, is het een goed idee om te controleren op bestaande SSH-sleutels op uw CentOS-clientmachine.
Voer hiervoor de volgende ls-opdracht uit die alle openbare sleutels weergeeft als die er zijn:
ls -l ~/.ssh/id_*.pub
Als de uitvoer van de opdracht zoiets retourneert als
No such file or directory
of
no matches found
, betekent dit dat u geen SSH-sleutels op uw clientcomputer hebt en kunt u doorgaan met de volgende stap en SSH-sleutelpaar genereren.
Als er bestaande sleutels zijn, kunt u deze gebruiken en de volgende stap overslaan of een back-up maken van de oude sleutels en nieuwe genereren.
Begin met het genereren van een nieuw 4096-bits SSH-sleutelpaar met uw e-mailadres als reactie:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
U wordt gevraagd om de bestandsnaam op te geven:
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):
Druk op
Enter
om de standaardbestandslocatie en bestandsnaam te accepteren.
Vervolgens wordt u gevraagd om een veilige wachtwoordzin te typen. Of u een wachtwoordzin wilt gebruiken, het is aan u. Als u ervoor kiest om een wachtwoordzin te gebruiken, krijgt u een extra beveiligingslaag.
Enter passphrase (empty for no passphrase):
De hele interactie ziet er zo uit:

Typ het volgende om te controleren of uw nieuwe SSH-sleutelpaar is gegenereerd:
ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
Kopieer de openbare sleutel naar CentOS Server
Nu het SSH-sleutelpaar is gegenereerd, is de volgende stap het kopiëren van de openbare sleutel naar de server die u wilt beheren.
De eenvoudigste en aanbevolen manier om de openbare sleutel naar de externe server te kopiëren, is met behulp van een hulpprogramma genaamd
ssh-copy-id
. Op uw lokale machine-terminaltype:
ssh-copy-id remote_username@server_ip_address
U wordt gevraagd het wachtwoord voor
remote_username
te voeren:
remote_username@server_ip_address's password:
Typ het wachtwoord en zodra de gebruiker is geverifieerd, wordt de openbare sleutel
~/.ssh/id_rsa.pub
toegevoegd aan het bestand
~/.ssh/authorized_keys
van de externe gebruiker. De verbinding wordt verbroken.
Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.
Als het hulpprogramma
ssh-copy-id
niet beschikbaar is op uw lokale computer, gebruikt u de volgende opdracht om de openbare sleutel te kopiëren:
cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Log in op uw server met behulp van SSH-sleutels
Nadat u de bovenstaande stappen hebt voltooid, moet u zich bij de externe server kunnen aanmelden zonder dat u om een wachtwoord wordt gevraagd.
Probeer om in te loggen op uw server via SSH:
ssh remote_username@server_ip_address
SSH-wachtwoordverificatie uitschakelen
Om een extra beveiligingslaag toe te voegen aan uw externe server, kunt u SSH-wachtwoordverificatie uitschakelen.
Controleer voordat u doorgaat of u zich bij uw server zonder wachtwoord kunt aanmelden als een gebruiker met sudo-rechten.
Volg de onderstaande stappen om SSH-wachtwoordverificatie uit te schakelen:
-
Log in op uw externe server:
ssh sudo_user@server_ip_addressOpen het SSH-configuratiebestand
/etc/ssh/sshd_configmet uw teksteditor:sudo nano /etc/ssh/sshd_configZoek naar de volgende richtlijnen en wijzig deze als volgt:
/ Etc / ssh / sshd_configPasswordAuthentication no ChallengeResponseAuthentication no UsePAM noSla het bestand op en start de SSH-service opnieuw door het volgende te typen:
sudo systemctl restart ssh
Op dit moment is de op wachtwoord gebaseerde authenticatie uitgeschakeld.
Conclusie
In deze zelfstudie hebt u geleerd hoe u een nieuw SSH-sleutelpaar kunt genereren en een op SSH-sleutel gebaseerde verificatie kunt instellen. U kunt dezelfde sleutel toevoegen aan meerdere externe servers.
We hebben ook laten zien hoe u SSH-wachtwoordverificatie kunt uitschakelen en een extra beveiligingslaag aan uw server kunt toevoegen.
Standaard luistert SSH op poort 22. Het wijzigen van de standaard SSH-poort vermindert het risico op geautomatiseerde aanvallen.
centos ssh-beveiligingHoe ssh tunneling in te stellen om een firewall te omzeilen
Een firewall is een goede zaak, maar als het u ervan weerhoudt iets te doen, dan is SSH Tunneling een goede optie om te verkennen.
Hoe wachtwoordloze ssh login in te stellen
In dit artikel laten we u zien hoe u een op SSH-sleutel gebaseerde verificatie instelt en verbinding maakt met uw Linux-servers zonder een wachtwoord in te voeren.
Hoe ssh-sleutels in te stellen op ubuntu 18.04
In deze tutorial zullen we doornemen hoe SSH-sleutels op Ubuntu 18.04-machines kunnen worden gegenereerd. We laten u ook zien hoe u een op SSH-sleutel gebaseerde verificatie instelt en verbinding maakt met uw externe Linux-servers zonder een wachtwoord in te voeren.







