SSH – PRAXISÜBERSICHT (LINUX / HOME-OFFICE / SERVER)
Wichtig bei login mit passwd:   pi@192.178.168.7   So als muster !!

1. WAS IST SSH?
SSH (Secure Shell) ist ein verschlüsselter Fernzugriff auf einen Rechner.
Er ersetzt unsichere Dinge wie Telnet, FTP, Remote-Tools mit GUI.
Typisch:
• Server administrieren
• Logs prüfen
• Dienste neu starten
• Git-Repositories nutzen
2. GRUNDBEFEHL
ssh benutzer@server
Beispiel (lokales Netz):
ssh ronny@192.168.1.10
Beispiel (DNS):
ssh admin@meinserver.example.de
3. WAS MUSS AUF DEM SERVER VORHANDEN SEIN?
• Paket: openssh-server
• Dienst läuft
• Port 22 (oder eigener) offen
Installieren (Server):
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
Status prüfen:
systemctl status ssh
4. PASSWORT ODER SSH-KEY?
Passwort:
• einfach
• unsicherer
• nervig
SSH-Key (empfohlen):
• kein Passwort beim Login
• deutlich sicherer
• Standard in Industrie & Git
5. SSH-KEY ERSTELLEN (CLIENT)
ssh-keygen -t ed25519
Erzeugt:
~/.ssh/id_ed25519 (privat!)
~/.ssh/id_ed25519.pub (öffentlich)
6. SSH-KEY AUF SERVER ÜBERTRAGEN
ssh-copy-id benutzer@server
Oder manuell:
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
Rechte (wichtig):
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
7. LOGIN OHNE PASSWORT
ssh benutzer@server
→ kein Passwort mehr
8. ZUGRIFF VON AUSSEN (INTERNET)
Zusätzlich nötig:
• öffentliche IP oder DynDNS
• Portweiterleitung im Router
Router:
Port 22 → interne Server-IP
Empfohlen:
• SSH-Port ändern (z. B. 2222)
• Root-Login verbieten
/etc/ssh/sshd_config:
Port 2222
PermitRootLogin no
PasswordAuthentication no
Danach:
systemctl restart ssh
9. SERVER PER SSH NEUSTARTEN (HOME-OFFICE)
ssh admin@server
sudo reboot
Oder direkt:
ssh admin@server "sudo reboot"
Dienste neu starten:
ssh admin@server "sudo systemctl restart apache2"
10. LOGS PRÜFEN
ssh admin@server
journalctl -xe
tail -f /var/log/syslog
11. GIT + SSH (VSCODIUM)
Git nutzt SSH für sicheren Zugriff.
Test:
ssh -T git@github.com
Repository klonen:
git clone git@github.com:user/projekt.git
VSCodium:
• nutzt den gleichen SSH-Key
• kein extra Login nötig
• kein Passwort
Wichtig:
Der private Key bleibt IMMER lokal.
GitHub bekommt nur den PUBLIC Key.
12. SSH-AGENT (WARUM FRAGTE ES STÄNDIG NACH PASSWORT?)
Der SSH-Agent merkt sich den Key.
Starten:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Danach:
• kein erneutes Passwort
• auch für Git
13. WICHTIGE BEFEHLE MERKEN
ssh user@host
ssh -p 2222 user@host
scp datei user@host:/pfad
rsync -av daten/ user@host:/backup/
14. SICHERHEITSREGELN (INDUSTRIE)
• niemals Private Keys weitergeben
• Passwortlogin abschalten
• Root-Login verbieten
• SSH nur für Admin-Zugriff
• Firewall nutzen
MERKSATZ:
„Wenn ich per SSH draufkomme, brauche ich keine Klick-Tools.“