Je hebt er waarschijnlijk nog niet aan gedacht om je te verdiepen in het gebruik van SSH om toegang te krijgen tot jouw WordPress site. De meeste WordPress-gebruikers zijn gewend om verbinding te maken met hun site via het WordPress-dashboard en beheerdersscherm, eventueel in combinatie met SFTP en phpMyAdmin voor het geval toegang tot de database nodig is.

Toch zou SSH zomaar een van de meest waardevolle tools kunnen zijn voor jouw WordPress-site.

Wanneer je gebruik maakt van SSH om te verbinden met jouw WordPress-site, kom je er al snel achter dat het je workflow versnelt en efficiënter maakt.

In dit artikel laten we jou zien hoe je dit doet.

Wat is SSH?

Laten we beginnen met te vast te stellen wat SSH is en waarvoor je het kan gebruiken.

SSH is de afkorting van ‘Secure Shell’. De officiële SSH-specificatie is:

“Een protocol voor een beveiligde login op afstand en andere beveiligde netwerkdiensten in een onveilig netwerk.”

Dit betekent dat je het kan gebruiken om op afstand toegang te verkrijgen tot jouw WordPress-site, vanaf een willekeurige computer en ongeacht de locatie waar jouw site gehost wordt zolang je beschikt over de inloggegevens. Een veiligere methode zal je dus niet vinden.

SSH is ontwikkeld om jou een beveiligde inlogmethode te bieden, zodat je er zeker van kunt zijn dat niemand gebruik maakt van jouw verbinding -terwijl jij deze gebruikt. Daarnaast is het ook gemakkelijk en snel in gebruik als je het eenmaal onder de knie hebt. Als je bijvoorbeeld met de WordPress REST API wilt communiceren kun je SSH gebruiken om opdrachten te versturen.

Om via SSH met jouw server te verbinden heb je twee dingen nodig:

  • Een interface.
  • Inloggegevens.

Wanneer je gebruik maakt van Linux of macOS heb je de beschikking over een ingebouwde interface in jouw besturingssysteem. In dit geval hoef je géén aparte SSH-client te installeren. Indien je gebruik maakt van Windows dien je wél een aparte SSH-client te installeren. In dit artikel laat ik je zien hoe je dat kunt doen.

Benodigde tools om te verbinden met jouw site via SSH

Om te beginnen heb je de Terminal of een SSH-client nodig. Beide werken op een vergelijkbare manier.

Verbinden via de Terminal op macOS of Linux

De Terminal is een toepassing die standaard in Linux of macOS zit en die je in staat stelt om een opdrachtprompt te gebruiken om opdrachten te versturen naar je eigen computer of een server op afstand.

Het is geen grafische interface en je maakt alleen gebruik van je toetsenbord waarmee tekstopdrachten typt. Je zult er waarschijnlijk even aan moeten wennen als je het net gebruikt, want je ziet geen visuele uitkomst van de opdrachten. Maar ben je er eenmaal aan gewend, dan merk je al snel hoeveel vlotter je kan werken.

De interface komt je bekend voor als je met computers hebt gewerkt in de dagen voordat het vanzelfsprekend was om met grafische interfaces te werken, zoals het besturingssysteem Microsoft MS-DOS. Het goede nieuws is dat de Terminal je veel meer opties geeft dan MS-DOS!

Om de Terminal te openen op jouw Mac, open je Spotlight en typ Terminal. Je kunt de Terminal ook openen via Applications > Utilities.

Terminal lokaliseren op jouw Mac
Terminal lokaliseren op jouw Mac

Om de Terminal op Linux te openen navigeer je naar het Applications menu. Mocht je het niet direct vinden, kun je ook Terminal in de prompt intypen om het te vinden.

Verbinden via een SSH-client op Windows

Een SSH-client is een programma dat je moet installeren indien je gebruik maakt van Windows. Zonder SSH-client kun je niet verbinding maken via SSH.

De meest populaire SSH-client is PuTTY. Om toegang te krijgen tot je site via Windows dien je dit eerst te downloaden en installeren.

De PuTTY-downloadpagina
De PuTTY-downloadpagina

De PuTTY SSH-client installeren op Windows

Begin door naar de PuTTY downloadpagina te navigeren.

De PuTTY-downloadpagina
De PuTTY-downloadpagina

Selecteer op deze pagina de Windows-versie waar jij gebruik van maakt. Als je niet zeker weet of je gebruik maakt van de 32-bits- of 64-bitsversie neem je een kijkje op de FAQ-pagina. Mocht je nog steeds twijfelen selecteer dan de 32-bitsversie.

Klik op een van de twee opties onder MSI (‘Windows Installer’). Hierna zal de download van het bestand naar jouw computer beginnen. Installeer de client.

Zodra PuTTY is geïnstalleerd kun je het openen en gebruiken om te verbinden met jouw site.

Hoe je verbinding kan maken met jouw server via de opdrachtregel

Wanneer je de Terminal hebt gevonden of een SSH-toepassing hebt geïnstalleerd, kun je verbinding gaan maken met jouw site.

Je maakt gebruik van de opdrachtregel in de Terminal of de SSH-client om opdrachten naar jouw server te sturen. Dit zal de terminologie zijn die ik vanaf nu gebruik, in plaats van te verwijzen naar de Terminal of de SSH-toepassing.

Om dit te doen heb je vier delen informatie nodig:

  • Serveradres.
  • Gebruikersnaam.
  • Wachtwoord.
  • Poort.

Het serveradres is normaal gesproken jouw domeinnaam of IP-adres. Als jouw website gehost wordt bij Kinsta gebruik je jouw IP-adres.

De gebruikersnaam en het wachtwoord zijn hetzelfde als de gebruikersnaam en het wachtwoord voor jouw FTP. Let op: gebruik niet de gebruikersnaam en het wachtwoord van jouw WordPress-admin.

De poort wordt door jouw hosting provider beschikbaar gesteld. In sommige gevallen wordt een standaard poort gebruikt, maar als extra beveiligingsmaatregel gebruikt Kinsta voor elke site weer een andere poort.

In MyKinsta vind je de gegevens die je nodig hebt door jouw site te selecteren en te navigeren naar het onderdeel SFTP/SSH in het Info-scherm.

MyKinsta SSH
MyKinsta SSH

Kopieer en plak deze regel in de opdrachtprompt.

Nadat je dat gedaan hebt zul je gevraagd worden naar je wachtwoord. Kopieer het wachtwoord uit MyKinsta en je hebt toegang tot je server.

Je ziet een scherm dat er ongeveer zo uit ziet:

Kinsta SSH-beginscherm
Kinsta SSH-beginscherm

Als jouw website niet gehost wordt bij Kinsta, ziet jouw scherm er iets anders uit. Je hebt uiteraard nog steeds toegang tot jouw server.

Hoe gebruik je SSH voor jouw site

Nu ben je klaar om SSH te gaan gebruiken voor jouw server en jouw site. Er zijn enkele SSH-opdrachten die je kan gebruiken, inclusief de opdrachten die beschikbaar zijn gesteld door de WordPress Command Line Interface (WP-CLI).

SSH-basisopdrachten

SSH bevat een reeks aan opdrachten die je kunt gebruiken om te verbinden en te gebruiken met jouw server.

Zodra je op jouw server bent ingelogd via de opdrachtprompt, typ je simpelweg de SSH-opdrachten die je normaal ook zou intypen als je gebruik maakt van de Terminal voor jouw computer.

Laten we eens kijken naar een aantal van de handigste SSH-opdrachten die je kunt gebruiken.

Het ls commando

Gebruik het ls commando om een lijst van bestanden en mappen te krijgen van jouw huidige locatie. Om meer informatie te krijgen kun je extra’s toevoegen aan het commando:

  • ls -l laat details van bestanden zien, zoals grootte, datum en tijd laatst gewijzigd, de eigenaar en de permissies.
  • ls -a laat verborgen bestanden en mappen zien.
Het ls commando
Het ls commando

Het cd commando

Gebruik het cd commando om van map te wisselen. Je navigeert naar de nieuwe map en de opdrachtprompt laat zien waar je bent.

Het cd commando
Het cd commando

Om inzichtelijk te krijgen wat zich in deze nieuwe map bevindt kun je het ls commando gebruiken.

Met het cd commando kun je meerdere mappen naar beneden, naar boven of door mappen heen navigeren. Om een map naar boven te navigeren, typ je twee punten achter het cd commando zoals dit:

cd ..

Om naar een specifieke map te navigeren, typ je het volledige pad van de map zoals:

cd public/wp-content/themes

Het mkdir Commando

Gebruik het mkdir commando om een nieuw map te maken. Als ik dus in de themes map ben, kan ik een nieuwe map voor een nieuw thema maken:

mkdir mytheme

Het touch commando

Gebruik het touch commando om een nieuw bestand aan de nieuw aangemaakte map toe te voegen:

touch style.css

Het cat commando

Gebruik het cat commando om de inhoud van een bestand weer te geven.

Het cat commando
Het cat commando

Het rm commando

Begruik het rm commando om een bestand of map te verwijderen. Let op: dit kan niet ongedaan worden gemaakt:

rm style.css

Het cp commando

Gebruik het cp commando om bestanden of mappen te kopiëren. Je dient de naam van het bestand of map op te geven, en de doelbestemming waar je het naartoe wilt kopiëren.

cp [options] [source] [destination]

Je kunt ook opties toevoegen aan het begin van het commando, maar dit is niet nodig. Om bijvoorbeeld het bestand footer.php te kopiëren van het ene thema naar het andere, terwijl je in de wp-content map bent, kun je dit commando gebruiken:

cp /themes/theme1/footer.php /themes/theme2/

Voeg niet de naam van het bestand aan de doelbestemming van het commando toe. Als je dat wel doet, en er bestaat toevallig al een bestand met die naam op de doelbestemming, zal dit bestand worden overschreven met het bestand wat je aan het kopiëren bent.

Wanneer je geen bestandsnaam aan de doelbestemming van het commando toevoegt, en het bestand bestaat bij toeval al op de doelbestemming, krijg je een foutmelding en zal het bestand niet gekopieerd worden.

Ik heb eerder al aangegeven dat je enkele opties kunt toevoegen aan het begin van het commando. Deze opties zijn:

  • -f: als je geen schrijf-permissies voor het doelbestand hebt, zal het worden verwijderd en wordt er een nieuw bestand aangemaakt.
  • -u: kopieert het bronbestand alleen als het nieuwer is dan het doelbestand.
  • -n: een bestaand bestand zal niet worden overschreven.
  • -a: archiveert de bestanden.
  • -R: alleen voor mappen, kopieert alle bestanden en mappen die zich in deze map bevinden.

Het mv commando

Als alternatief voor het kopiëren van een bestand, kun je het ook verplaatsen door gebruik te maken van het mv commando. Om dit te doen typ je alleen de bron en het doel: er zijn geen andere opties.

mv /themes/theme1/footer.php /themes/theme2/

Dit commando verwijdert het footer.php bestand van de locatie theme1, en verplaatst het naar de locatie theme2. Als je dit doet met een map zullen altijd de bestanden en mappen die zich in die map bevinden ook verplaatst worden.

Meer informatie over SSH-opdrachten vind je in de SSH-documentatie.

WP-CLI gebruiken voor interactie met jouw site

Naast de standaard SSH-opdrachten biedt WordPress je de WP-CLI-interface. Deze bevat nog veel meer commando’s. Deze opdrachten bevatten bijvoorbeeld interactie met bestanden en mappen, beheer opties en jouw database.

WP-CLI is standaard inbegrepen bij jouw Kinsta hosting en is klaar voor gebruik. Indien jouw hosting provider geen WP-CLI aanbiedt, kun je het installeren door de stappen die zijn beschreven in de WP-CLI-handleiding.

Je SSH-verbinding testen en problemen oplossen

Het kan voorkomen dat de SSH niet functioneert zoals jij dat wil. Mogelijk kun je geen verbinding maken, of werkt het commando dat je hebt ingetypt niet zoals je verwacht.

Als deze situatie zich voordoet, kun je enkele van deze tips gebruiken om het probleem op te lossen.

Je kunt geen verbinding maken via SSH

Als je geen verbinding kunt maken met jouw server, kijk dan of de opdrachtprompt een foutmelding laat zien. Soms dien je een ja/nee antwoord in te vullen, of een typefout te herstellen in jouw commando.

Als dat niet werkt, controleer dan of de inloggegevens die je hebt ingevuld correct zijn. Je vindt de inloggegevens in de Info pagina van jouw site in MyKinsta. Andere hosting providers hebben waarschijnlijk een SSH-gedeelte in cPanel of een ander dashboard dat ze gebruiken.

Als je het nog een keer hebt geprobeerd en het werkt nog steeds niet, probeer dan om je SSH-wachtwoord opnieuw in te stellen. Controleer voor alle zekerheid ook of jouw internetverbinding werkt en er geen firewall actief is die voorkomt dat jij verbinding kunt maken met jouw server. Als je hierover twijfelt, sluit de Terminal of jouw SSH-client en open het weer.

Login op je hostingaccount en controleer of er geen serverstoringen zijn die ervoor kunnen zorgen dat je geen verbinding kunt maken. Als je klant bent van Kinsta ga je naar onze systeemstatus-pagina waar je kunt controleren of er iets niet werkt.

Kinsta systeem status scherm
Kinsta systeem status scherm

Als je verbonden bent met een openbaar netwerk kan dit ervoor zorgen dat je geen toegang hebt tot SSH via jouw poort. Probeer andere poorten waarvan je weet dat ze werken.

Mocht dit niet helpen, vraag dan je hostingprovider om hulp. Je hosting provider heeft toegang tot logboeken en kan deze analyseren om vast te stellen waarom je geen verbinding kunt maken.

Als de SSH-commandos’ niet werken zoals verwacht

Een ander bekend probleem is dat SSH-opdrachten niet werken zoals je verwacht. Meestal komt dit, omdat het commando niet correct is ingetypt.

Dit is een voorbeeld waarbij ik is in plaats van ls heb getypt:

Een typefout in Terminal
Een typefout in Terminal

In dit voorbeeld is een foutmelding (command not found) zichtbaar dus probeer ik het opnieuw met het juiste commando.

Het kan ook voorkomen dat je het commando correct intypt, maar de parameters verkeerd zijn. Als dat het geval is controleer dan de SSH-documentatie voor SSH-opdrachten en de WP-CLI-documentatie voor WP-CLI-opdrachten.

Indien jouw SSH-opdrachten niet werken, omdat je verbinding niet werkt, zul je hierover een foutmelding krijgen. De opdrachtprompt voorziet je continue van informatie over wat er aan de hand is, een van de grote voordelen van de opdrachtprompt. De opdrachtprompt geeft je meer en duidelijkere informatie dan een grafische interface.

Hoe genereer je een nieuw SSH key pair voor extra beveiliging

Het genereren van een SSH key pair voegt een aanvullende beveiligingslaag toe in vergelijking met alleen je gebruikersnaam en wachtwoord om verbinding te maken met SSH. Je voegt een key pair toe vanuit de Terminal of jouw SSH-toepassing. Zo doe je dat.

Het genereren van een SSH key pair in drie stappen:

  1. Genereer het SSH key pair in de Terminal of jouw SSH-toepassing.
  2. Voeg het SSH key pair toe aan jouw hosting account – in MyKinsta doe je dat via het Gebruiker Instellingen scherm.
  3. Maak verbinding met jouw server in de Terminal of jouw SSH-toepassing, terwijl je gebruik maakt van het SSH key pair.
Een SSH key pair toevoegen in MyKinsta
Een SSH key pair toevoegen in MyKinsta

Een uitgebreide en volledige instructie vind je in onze handleiding om een SSH key pair te genereren voor macOS, Linux en Windows.

Samenvatting

Gebruik maken van SSH om verbinding te maken met jouw server en jouw WordPress site maakt je meer efficiënt dan enkel te vertrouwen op de WordPress beheerinterface, FTP en phpMyAdmin.

Volg de hierboven beschreven stappen om verbinding te maken met jouw server via SSH, en je zal ontdekken dat je veel meer aan jouw site kan doen zonder dat je hoeft te wisselen tussen toepassingen of vensters van je internetbrowser.

Nu is het jouw beurt: welk favoriet Terminal commando gebruik jij op dagelijkse basis? Laat het ons weten in de reacties!

Rachel McCollin

Rachel McCollin has been helping people build websites with WordPress since 2010. She's a huge fan of self-hosted WordPress and wants to help as many people as possible create an awesome website with it.