Technik 1.5 — Linux Grundlagen

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