SSH — sicher remote arbeiten
SSH = Secure Shell. Standard-Tool, um sich auf entfernten Servern einzuloggen.
Login
ssh [email protected] ssh -p 2222 user@server # anderer Port ssh user@server "ls /var/log" # einzelnen Befehl ausführen exit # Verbindung beenden (oder Ctrl+D)
SSH-Keys (statt Passwort)
# Schlüsselpaar erstellen (lokal) ssh-keygen -t ed25519 -C "alice@laptop" # Public-Key auf Server kopieren ssh-copy-id user@server # danach: ssh user@server → ohne Passwort
Private-Key bleibt LOKAL (~/.ssh/id_ed25519), Public-Key kommt auf Server (~/.ssh/authorized_keys).
Datei-Transfer
# scp — einfach scp datei.txt user@server:/tmp/ scp user@server:/tmp/datei.txt . scp -r ordner/ user@server:/tmp/ # rekursiv # rsync — besser für Sync (inkrementell) rsync -av lokal/ user@server:/remote/ rsync -av --delete lokal/ server:/remote/ # spiegeln
Port-Forwarding (Tunnel)
# Lokaler Tunnel: erreiche server:5432 lokal als 5432 ssh -L 5432:localhost:5432 user@server # Remote Tunnel: server kann auf laptop:3000 zugreifen ssh -R 8080:localhost:3000 user@server # Dynamic SOCKS-Proxy ssh -D 1080 user@server
~/.ssh/config — bequem
Host meinserver HostName server.example.com User alice Port 2222 IdentityFile ~/.ssh/id_ed25519 # danach: ssh meinserver
Sicherheits-Faustregeln
- Passwort-Login auf Server abschalten — nur Keys (
PasswordAuthentication no) - Root-Login verbieten — nur normale User + sudo
- Standard-Port 22 → unwichtig, aber gegen Bot-Spam: anderer Port + fail2ban
- SSH-Keys mit Passphrase & ssh-agent
Zurück zu Technik