SSH‑Sicherheit

Starke Passwörter verwenden
Starke Passwörter sind Zeichenketten, die weder zufällig erraten noch per Brute‑Force in wenigen Stunden geknackt werden können.
Wähle Passwörter mit:
- Mindestens 15 Zeichen
- Kombination aus Groß‑/Kleinbuchstaben, Zahlen und Sonderzeichen
Programme wie pwgen, makepasswd, apg, KeePassX oder Unix‑Befehle erzeugen sichere Zufalls‑
Passwörter:
tr -dc '_A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/urandom | head -c25
pwgen -cnsy 25 1
Optionen für pwgen:
-c: mindestens ein Großbuchstabe-n: mindestens eine Ziffer-s: mindestens ein Sonderzeichen-y: mehrdeutige Zeichen ausschließen (l, 1, I, 0, O, …)25: Länge1: Anzahl der Passwörter
Solche Passwörter sind sicher, aber schwer merkbar – man muss sie notieren. Ich empfehle daher eine lange Passphrase, die nur du dir merken kannst.
Root‑Login per SSH deaktivieren
In
/etc/ssh/sshd_configfolgende Zeile setzen:PermitRootLogin noDaemon neu starten:
sudo /etc/rc.d/sshd restartoder mit systemd:
sudo systemctl restart sshd
Root‑Zugriff bei Bedarf über su.
Zugelassene SSH‑Benutzer einschränken
Sinnvoll, wenn nur wenige Nutzer per SSH zugreifen dürfen. In /etc/ssh/sshd_config:
AllowUsers usr_1 usr_2 usr_3
„Protocol 1“ deaktivieren
SSH bietet zwei Protokolle. Protocol 1 ist veraltet/unsicher; Protocol 2 aktivieren.
Port ändern
Standardport ist 22. Auf eine zufällige Nummer über 1024 ändern, z. B. Port 2345.
Ab jetzt muss der Port beim Verbinden angegeben werden:
ssh -p 2345 julio@home.juliobs.com
Den Port (TCP) ggf. auch im Router freigeben.
Firewall verwenden
Mit iptables nur bestimmte IPs auf den SSH‑Port lassen:
iptables -A INPUT -p tcp -s 201.43.81.111 --dport 22 -j ACCEPT
Da ich oft von wechselnden IPs zugreife, begrenze ich stattdessen die Versuche pro IP:
Loggt IPs, die Port 22 anfragen, und akzeptiert, wenn in 60 s weniger als 4 Versuche erfolgten:
iptables -A INPUT -p tcp --dport 22 -m recent --set --name ssh --rsource
iptables -A INPUT -p tcp --dport 22 -m recent ! --rcheck --seconds 60 \
--hitcount 4 --name ssh --rsource -j ACCEPT
Verbindungsversuche >3 pro Minute verwerfen:
iptables -A INPUT -p tcp --dport 22 --syn -m limit --limit 1/m --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 --syn -j DROP
Public/Private Keys für Authentifizierung nutzen
Schlüssel erstellen:
ssh-keygen -t rsa -b 4096 -f servidorx -C "pubkey para servidor X"Standard ist RSA 2048; hier nutze ich RSA 4096.
2020‑Update: Empfohlen istEd25519:ssh-keygen -t ed25519 -f serverx -C "pubkey".Schlüssel auf den Server kopieren.
ssh-copy-id -i serverx.pub '-p 2345 julio@serverx.com'Das hängt
serverx.puban~/.ssh/authorized_keysauf dem Server an.Berechtigungen prüfen:
chmod 700 ~/.ssh chmod 600 ~/.ssh/serverx~/.ssh/configanlegen – per‑Host‑Einstellungen/Aliasse:Host github.com HostName github.com IdentityFile ~/.ssh/github User jbsilva Host juliobs.com HostName juliobs.com IdentityFile ~/.ssh/juliobs User julio Host servidorx HostName ssh.servidorx.com IdentityFile ~/.ssh/servidorx User usuariox Port 2345
Damit musst du Benutzer, Adresse und Port nicht mehr jedes Mal tippen.
Statt
ssh -i serverx -p 2345 userx@ssh.serverx.com
geht dann einfach:
ssh servidorx
Links

Ich bin ein brasilianischer Computeringenieur mit Wohnsitz in Deutschland und begeistere mich für Technik, Wissenschaft, Fotografie und Sprachen.
Ich programmiere seit etwa zwei Jahrzehnten und habe dabei alles von mobilen Apps und Webentwicklung bis hin zu Machine Learning erkundet. Derzeit fokussiere ich mich auf Cloud‑SRE und Data Engineering.
Ich engagiere mich ehrenamtlich in den Open‑Source- und Python‑Communities, helfe bei der Organisation der PyCon DE und PyData Berlin, betreue als Mentor und trage mit Code und Übersetzungen bei.
In meinem Blog teile ich Linux‑Tipps, Einrichtungsanleitungen und persönliche Notizen, die ich als spätere Referenz geschrieben habe. Ich hoffe, dass sie auch anderen nützlich sind. Die Inhalte sind in mehreren Sprachen verfügbar.
Schau dir meine Galerie an, um einige meiner Fotografien zu sehen.
Abseits der Tastatur findest du mich auf Konzerten, beim Klarinettenspiel, Radfahren, Tauchen oder beim Erkunden neuer Orte, Kulturen und Küchen.
Ich freue mich immer über den Austausch! 🙂