Verbinden
ssh user@host
ssh -p 2222 user@host andere poort
ssh -i ~/.ssh/key user@host specifieke sleutel
ssh -v user@host verbose (debug)
Sleutels
ssh-keygen -t ed25519 -C "mail@example.com" nieuw sleutelpaar
ssh-copy-id user@host publieke sleutel plaatsen
ssh-add ~/.ssh/id_ed25519 aan agent toevoegen
ssh-add -l geladen sleutels tonen
Publieke sleutel handmatig plaatsen in ~/.ssh/authorized_keys op de server
(rechten: map 700, bestand 600).
~/.ssh/config
Host myserver
HostName 123.45.67.89
User deploy
Port 2222
IdentityFile ~/.ssh/deploy_key
Daarna simpelweg: ssh myserver.
Bestanden kopiëren
scp bestand user@host:/pad/ upload
scp user@host:/pad/bestand . download
scp -r map user@host:/pad/ recursief
rsync -avz map/ user@host:/pad/ efficiënter (zie rsync sheet)
Tunnels (port forwarding)
ssh -L 8080:localhost:80 user@host lokaal 8080 → host poort 80
ssh -R 9000:localhost:3000 user@host remote 9000 → jouw 3000
ssh -D 1080 user@host SOCKS-proxy
ssh -fN ... op de achtergrond, geen shell
Overige
ssh user@host 'commando' commando uitvoeren en afsluiten
ssh -J jump user@host via een jump host
ssh -T git@github.com git-authenticatie testen (geen shell)
ssh -Topent geen interactieve shell maar voert alleen de authenticatie uit — ideaal om te checken of je sleutel werkt bij GitHub/GitLab/Gitea. Bij succes krijg je een begroeting als “Hi naam! You’ve successfully authenticated, but … does not provide shell access.”