Op Mac en Linux is SSH ingebouwd - je hebt geen extra software nodig. De Terminal applicatie geeft je directe toegang tot SSH en gerelateerde tools. Bij Theory7 zien we dat veel developers en systeembeheerders Mac of Linux gebruiken vanwege deze krachtige command line mogelijkheden. In deze handleiding leggen we alles uit over SSH verbindingen.

Terminal openen

Op macOS

Er zijn verschillende methoden om de Terminal te openen:

  • Spotlight: Druk Cmd + Spatie, typ Terminal en druk op Enter.
  • Finder: Ga naar Applications > Utilities > Terminal.
  • Launchpad: Zoek naar Terminal in de Launchpad.

Op Linux

Afhankelijk van je distributie zijn er verschillende manieren om de Terminal te openen:

  • Ubuntu/Debian: Druk op Ctrl + Alt + T om een nieuwe Terminal te openen.
  • KDE: Zoek naar Konsole in het applicatiemenu.
  • GNOME: Zoek naar Terminal in het applicatiemenu.
  • Algemeen: Zoek in het applicatiemenu naar Terminal.

Basis SSH verbinding

De simpelste manier om een SSH-verbinding te maken is door het volgende commando te gebruiken:

ssh gebruikersnaam@server

Voorbeeld:

ssh john@example.com

Met specifieke poort

Bij Theory7 gebruiken we poort 7777 voor extra beveiliging. Dit kan eenvoudig worden gedaan met de volgende syntax:

ssh gebruikersnaam@server -p 7777

Met IP-adres

Als je de server via een IP-adres wilt benaderen, gebruik dan het volgende commando:

ssh gebruikersnaam@123.45.67.89 -p 7777

SSH keys genereren

SSH keys zijn veiliger dan wachtwoorden en maken het verbinden met servers eenvoudiger en veiliger. Het gebruik van SSH keys voorkomt dat je steeds je wachtwoord moet invoeren.

Ed25519 key aanmaken (aanbevolen)

De Ed25519 key is de aanbevolen optie vanwege zijn sterke beveiliging en snelheid:

ssh-keygen -t ed25519 -C "jouw@email.nl"

Je wordt gevraagd om een aantal keuzes te maken:

  1. Locatie: Druk Enter om de standaardlocatie (~/.ssh/id_ed25519) te gebruiken.
  2. Passphrase: Dit is een optioneel wachtwoord voor extra beveiliging van je private key.

RSA key aanmaken (oudere systemen)

Als je met oudere systemen werkt die Ed25519 niet ondersteunen, kun je een RSA key aanmaken:

ssh-keygen -t rsa -b 4096 -C "jouw@email.nl"

Keys bekijken

Om je gegenereerde keys te bekijken, gebruik je het volgende commando:

ls -la ~/.ssh/

Je ziet de volgende bestanden:

  • id_ed25519 - Dit is je private key (deze moet je nooit delen!).
  • id_ed25519.pub - Dit is je public key (deze mag je delen met anderen).

Public key naar server kopieren

Om verbinding te maken met een server via SSH, moet je je public key naar de server kopiëren. Dit kan op verschillende manieren:

Methode 1: ssh-copy-id (makkelijkst)

De eenvoudigste manier om je public key te kopiëren is met het ssh-copy-id commando:

ssh-copy-id -i ~/.ssh/id_ed25519.pub gebruiker@server -p 7777

Dit commando kopieert je public key automatisch naar de server en voegt deze toe aan de authorized_keys file.

Methode 2: Handmatig

Als ssh-copy-id niet werkt, kun je het handmatig doen:

  1. Bekijk je public key met:
  2. cat ~/.ssh/id_ed25519.pub
  3. Kopieer de output van het commando.
  4. Log in op de server met je wachtwoord.
  5. Voeg de public key toe aan ~/.ssh/authorized_keys:
  6. echo "jouw-public-key-hier" >> ~/.ssh/authorized_keys
  7. Controleer of de bestandspermissies correct zijn ingesteld:
  8. chmod 600 ~/.ssh/authorized_keys
  9. Log uit en probeer opnieuw in te loggen met SSH.

Methode 3: Via DirectAdmin

Als je een hostingprovider gebruikt die DirectAdmin ondersteunt, kun je je public key ook via de interface importeren:

  1. Log in op DirectAdmin.
  2. Ga naar SSH Keys.
  3. Klik op Import Key.
  4. Plak je public key in het daarvoor bestemde veld.
  5. Autoriseer de key.

Verbinden met SSH key

Na het installeren van je key kun je verbinden met de server zonder je wachtwoord in te voeren:

ssh -i ~/.ssh/id_ed25519 gebruiker@server -p 7777

Als je de standaard key gebruikt, kun je het commando vereenvoudigen:

ssh gebruiker@server -p 7777

SSH config voor sneller verbinden

Om het verbinden met verschillende servers eenvoudiger te maken, kun je een SSH config bestand aanmaken:

nano ~/.ssh/config

Voeg de volgende configuratie toe:

Host mijnserver
    HostName jouwdomein.nl
    User gebruikersnaam
    Port 7777
    IdentityFile ~/.ssh/id_ed25519

Host theory7
    HostName server.theory7.net
    User myuser
    Port 7777
    IdentityFile ~/.ssh/id_ed25519

Nu kun je eenvoudig verbinden met:

ssh mijnserver

Of:

ssh theory7

Bestanden overzetten

Met SSH kun je ook eenvoudig bestanden overzetten tussen je lokale machine en de server. Dit kan op verschillende manieren:

SCP (Secure Copy)

Om een bestand te uploaden naar de server, gebruik je:

scp -P 7777 lokaalbestand.txt user@server:/pad/naar/doel/

Om een bestand te downloaden van de server, gebruik je:

scp -P 7777 user@server:/pad/naar/bestand.txt ./lokaal/

Om een hele map te uploaden, gebruik je:

scp -P 7777 -r lokalemap user@server:/pad/naar/doel/

SFTP interactieve sessie

Voor een interactieve sessie met de server kun je SFTP gebruiken:

sftp -P 7777 user@server

Hier zijn enkele nuttige SFTP commando's:

  • ls - Toont de bestanden in de huidige directory.
  • cd - Wijzig de directory.
  • get bestand - Download een bestand van de server.
  • put bestand - Upload een bestand naar de server.
  • exit - Sluit de SFTP sessie af.

rsync voor efficiënte sync

Rsync is een krachtig hulpmiddel voor het synchroniseren van bestanden en mappen. Het is efficiënt omdat het alleen gewijzigde bestanden kopieert:

rsync -avz -e "ssh -p 7777" ./lokaal/ user@server:/remote/

SSH agent voor key management

Om te voorkomen dat je steeds je passphrase moet invoeren, kun je een SSH agent gebruiken:

Agent starten

Start de SSH agent met het volgende commando:

eval "$(ssh-agent -s)"

Key toevoegen

Voeg je SSH key toe aan de agent:

ssh-add ~/.ssh/id_ed25519

Op macOS kun je de key opslaan in de Keychain, zodat je deze niet telkens hoeft in te voeren:

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Troubleshooting

Als je problemen ondervindt bij het verbinden met SSH, zijn hier enkele veelvoorkomende foutmeldingen en oplossingen:

Permission denied (publickey)

  • Controleer of je public key correct is geïnstalleerd op de server.
  • Verifieer de bestandspermissies van je private key met:
  • chmod 600 ~/.ssh/id_ed25519

Connection refused

  • Controleer of je de juiste poort gebruikt.
  • Verifieer dat de server bereikbaar is door een ping-test uit te voeren:
  • ping server

Host key verification failed

  • Dit kan betekenen dat de server key is gewijzigd, wat kan wijzen op een beveiligingsprobleem.
  • Als je zeker weet dat de wijziging legitiem is, kun je de oude key verwijderen met:
  • ssh-keygen -R server

Gerelateerde artikelen

Hulp nodig?

We staan voor je klaar! Loop je ergens tegenaan of heb je vragen? Ons supportteam helpt je graag persoonlijk verder. Stuur ons een berichtje via het ticketsysteem - we reageren meestal binnen een paar uur en denken graag met je mee.