iocalhost.nl // no place like ::1
references Editors & Shell ssh

ssh

Verbinden, sleutels, tunnels, kopiëren en config.

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 -T opent 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.”