SSH is een netwerkprotocol dat een beveiligde verbinding tot stand brengt tussen een client en een server. Alle communicatie is versleuteld, waardoor gegevensdiefstal en andere netwerkaanvallen worden voorkomen.
Stel dat je een cloudserver hebt besteld via Hostman. Je hebt SSH nodig om verbinding te maken met de server en deze te beheren.
Deze handleiding legt uit hoe je SSH installeert en configureert op Ubuntu 22.04.
Zorg ervoor dat aan de volgende vereisten is voldaan voordat je begint:
Basiskennis van Linux-opdrachten
Je moet vertrouwd zijn met opdrachten zoals sudo
, apt
, nano
en systemctl
. Deze worden vaak gebruikt bij het installeren en configureren van de service. Het is belangrijk dat je vertrouwd bent met de commandoregelomgeving om de service effectief te beheren.
Root- of sudo-rechten
Om de server te installeren en te configureren zijn beheerdersrechten vereist. Je moet sudo
-toegang hebben of als root
zijn ingelogd. Zonder deze rechten kan het installatieproces niet doorgaan.
Internetverbinding
Een stabiele verbinding is nodig om de OpenSSH-server en bijbehorende pakketten te downloaden. Zonder werkende verbinding kan het systeem de benodigde softwarecomponenten niet ophalen.
Als UFW of een andere firewall actief is, wordt externe toegang standaard mogelijk geblokkeerd. Het is essentieel om je firewall zodanig te configureren dat inkomende verbindingen worden toegestaan. Gebruik UFW of een ander hulpprogramma om ervoor te zorgen dat poort 22 open en bereikbaar is.
Je hebt fysieke toegang tot je machine nodig om de service lokaal te configureren, of het systeem moet op afstand bereikbaar zijn via het IP-adres. Zorg ervoor dat het systeem correct is verbonden met het netwerk om een verbinding tot stand te brengen.
Vergeet niet dat je bij Hostman snel en voordelig een cloudserver kunt uitrollen met onze VPS Hosting.
Het eerste wat je moet doen voordat je begint met het installeren van SSH op Ubuntu, is het bijwerken van alle apt
-pakketten naar de nieuwste versies. Gebruik hiervoor de volgende opdracht:
sudo apt update && sudo apt upgrade
OpenSSH is niet vooraf geïnstalleerd op het systeem, dus laten we het handmatig installeren. Voer de volgende opdracht in de terminal in:
sudo apt install openssh-server
De installatie van alle benodigde componenten begint. Beantwoord systeemvragen met “Ja”.
Zodra de installatie is voltooid, ga je verder met de volgende stap om de service te starten.
Activeer en start de service direct:
sudo systemctl enable --now ssh
Bij een succesvolle start zie je een systeemmelding.
De optie --now
start de service direct en stelt deze ook in om automatisch te starten bij het opstarten van het systeem.
Controleer of de service actief is:
sudo systemctl status ssh
Je zou Active: active (running)
moeten zien.
Wil je de service uitschakelen en voorkomen dat deze bij het opstarten wordt gestart? Gebruik dan:
sudo systemctl disable ssh
Controleer vóór je via SSH verbinding maakt met de server of de firewall correct is geconfigureerd. In dit geval gebruiken we UFW. Voer de volgende opdracht uit:
sudo ufw status
In de uitvoer zou je moeten zien dat SSH-verkeer is toegestaan. Zo niet, sta dan inkomende SSH-verbindingen toe met het volgende commando:
sudo ufw allow ssh
Zodra je alle voorgaande stappen hebt voltooid, kun je inloggen op de server via het SSH-protocol.
Hiervoor heb je het IP-adres of domein van de server nodig en de gebruikersnaam van een gebruiker die op de server is aangemaakt.
Gebruik het IP-adres of domein en een gebruikersnaam:
ssh gebruikersnaam@IP_adres
Of:
ssh gebruikersnaam@domein
Belangrijk: om succesvol verbinding te maken met een externe server, moet SSH zijn geïnstalleerd en geconfigureerd op zowel de externe server als de computer waarmee je verbinding maakt.
Voor extra beveiliging kun je een sleutel gebruiken in plaats van een wachtwoord. Om een sleutel te genereren, gebruik je de volgende opdracht:
ssh-keygen
Nadat je de vorige vijf stappen hebt voltooid, kun je al op afstand verbinding maken met de server. Je kunt de beveiliging van de verbinding echter verder verbeteren door de standaardpoort te wijzigen of over te schakelen van wachtwoordverificatie naar sleutelverificatie. Deze en andere wijzigingen vereisen het bewerken van het SSH-configuratiebestand.
De hoofdinstellingen van de OpenSSH-server zijn opgeslagen in het hoofdconfiguratiebestand sshd_config
(locatie: /etc/ssh
). Maak voordat je begint met bewerken een back-up van dit bestand:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.initial
Als je na het bewerken van het configuratiebestand fouten tegenkomt, kun je zonder problemen het originele bestand herstellen.
Na het maken van de back-up kun je doorgaan met het bewerken van het configuratiebestand. Open het bestand met Nano
:
sudo nano /etc/ssh/sshd_config
Wijzig in het bestand de poort naar een veiligere. Kies bij voorkeur een waarde uit het dynamische bereik van poorten (49152 - 65535) en gebruik verschillende nummers voor extra veiligheid. Bijvoorbeeld, laten we de poortwaarde wijzigen naar 49532. Haal hiervoor het #-teken weg bij de overeenkomstige regel in het bestand en wijzig de poort zoals getoond in de onderstaande screenshot.
Naast deze instelling raden we aan om de wachtwoordverificatie te wijzigen naar een veiligere sleutelverificatie. Haal het #-teken weg bij de overeenkomstige regel en zorg ervoor dat de waarde "Yes" is, zoals weergegeven in de screenshot.
Laten we nu het inloggen als superuser (root
) verbieden door de overeenkomstige regel te wijzigen zoals getoond in de onderstaande afbeelding.
Er zijn andere instellingen die je kunt aanpassen om de beveiliging van de server te verhogen:
UseDNS
: Controleert of de hostnaam overeenkomt met het IP-adres. De waarde “Yes” schakelt deze controle in.
PermitEmptyPasswords
: Voorkomt het gebruik van lege wachtwoorden als de waarde “No” is.
MaxAuthTries
: Beperkt het aantal mislukte pogingen om binnen één sessie verbinding te maken met de server.
AllowUsers
/ AllowGroups
: Bepaalt welke gebruikers en groepen toegang mogen krijgen tot de server:
# AllowUsers Gebruiker1 Gebruiker2
# AllowGroups Groep1 Groep2
LoginGraceTime
: Stel deze waarde vier keer lager in voor snellere time-outs.
ClientAliveInterval
: Beperk de tijd van inactiviteit. Na overschrijding van deze limiet wordt de gebruiker afgemeld.
Sla het bestand op en sluit de editor.
Herstart de service om de wijzigingen toe te passen:
sudo systemctl restart ssh
Als je de poort in het configuratiebestand hebt gewijzigd, moet je verbinding maken met de nieuwe poort:
ssh -p poortnummer gebruikersnaam@IP_adres
Of:
ssh -p poortnummer gebruikersnaam@domein
sudo systemctl status ssh
sudo systemctl restart ssh
sudo ufw allow 22
ping <server-ip-adres>
Als je om welke reden dan ook externe toegang wilt uitschakelen, volg dan deze stappen:
Service stoppen
Om tijdelijk geen verbindingen toe te staan:
sudo systemctl stop ssh
Automatisch opstarten voorkomen
Om te voorkomen dat SSH wordt gestart bij herstart:
sudo systemctl disable ssh
Controleren of de service is gestopt
Controleer of de service niet meer draait:
sudo systemctl status ssh
De SSH-server verwijderen
Als de service niet langer nodig is, verwijder deze dan inclusief configuratiebestanden:
sudo apt remove openssh-server
Deze handleiding beschrijft stap voor stap hoe je SSH installeert, configureert en veiliger maakt op Ubuntu 22.04. Je kunt nu eenvoudig en veilig verbinding maken met je Ubuntu-server via SSH.
Meer weten over SSH-sleutels? Klik hier.