How to Set Up SSH Keys on Linux - Ubuntu 18.04
Inhoudsopgave:
- SSH-sleutels maken op Ubuntu
- Kopieer de openbare sleutel naar Ubuntu Server
- Log in op uw server met behulp van SSH-sleutels
- SSH-wachtwoordverificatie uitschakelen
- Conclusie
Secure Shell (SSH) is een cryptografisch netwerkprotocol dat wordt gebruikt voor een veilige verbinding tussen een client en een server en ondersteunt verschillende authenticatiemechanismen.
De twee meest populaire mechanismen zijn op wachtwoorden gebaseerde authenticatie en op publieke sleutels gebaseerde authenticatie. Het gebruik van SSH-sleutels is veiliger en handiger dan traditionele wachtwoordverificatie.
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.
SSH-sleutels maken op Ubuntu
Voordat u een nieuw SSH-sleutelpaar genereert, controleert u op bestaande SSH-sleutels op uw Ubuntu-clientmachine. U kunt dat doen door het volgende ls-commando uit te voeren:
ls -l ~/.ssh/id_*.pub
Als de bovenstaande opdracht iets afdrukt zoals
No such file or directory
of
no matches found
, betekent dit dat u geen SSH-sleutels op uw clientcomputer hebt en dat u verder kunt gaan met de volgende stap en SSH-sleutelpaar kunt 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.
Genereer een nieuw 4096-bits SSH-sleutelpaar met uw e-mailadres als reactie door te typen:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
De uitvoer ziet er ongeveer zo uit:
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 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 Ubuntu Server
Nu u uw SSH-sleutelpaar hebt 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 uw openbare sleutel naar de server te kopiëren, is door 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:
Nadat de gebruiker is geverifieerd, wordt de openbare sleutel
~/.ssh/id_rsa.pub
toegevoegd aan het bestand
~/.ssh/authorized_keys
van de externe gebruiker en wordt de verbinding 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
om de een of andere reden niet beschikbaar is op uw lokale computer, kunt u de volgende opdracht gebruiken 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 het via SSH aan te melden bij uw server om het te testen:
ssh remote_username@server_ip_address
SSH-wachtwoordverificatie uitschakelen
Het uitschakelen van de wachtwoordverificatie voegt een extra beveiligingslaag toe aan uw server.
Voordat u SSH-wachtwoordverificatie uitschakelt, moet u ervoor zorgen dat u zich bij uw server kunt aanmelden zonder wachtwoord en dat de gebruiker waarmee u zich aanmeldt sudo-rechten heeft.
Log in op uw externe server:
ssh sudo_user@server_ip_address
Open het SSH-configuratiebestand
/etc/ssh/sshd_config
met uw teksteditor:
sudo nano /etc/ssh/sshd_config
Zoek naar de volgende richtlijnen en wijzig deze als volgt:
/ Etc / ssh / sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
Als u klaar bent, slaat u het bestand op en start u de SSH-service opnieuw door 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.
ubuntu 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-toetsen op centos in te stellen 7
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.







