Secure SHell
- Stellt eine sichere Verbindung zu einem entfernten Rechner her
- Dies gelingt durch die Verschlüsselung der Datenpakete
- Der Weg durch das Netz darf dabei unsicher sein
- Standardmäßig lauscht SSH auf Port 22
- ssh [Optionen] Benutzer@Zielrechner [Kommando]
Oft gebrauchte Optionen
- -p port_nummer: gibt einen alternativen Port an
- -i /pfad/zum/privaten/schlüssel: gibt einen alternativen privaten Schlüssel zur Authentifizierung an
- -J benutzer@jumphost: gibt einen Proxy-Rechner an, von dem man zum Ziel Rechner springt
- -X: Erlaubt X11 Forwarding, um grafische Programme lokal auszuführen
- -Y: Erlaubt X11 Forwarding, unabhängig von lokalen Sicherheitseinstellungen
Secure Shell Copy
- Ermöglicht das Kopieren von Dateien auf einen entfernten Rechner
- Baut auf die Authentifizierung und Verschlüsselung von SSH auf
Konfiguration
- Die Benutzerkonfiguration für SSH liegt unter ~/.ssh/config
- In ~/.ssh/authorized_keys stehen öffentliche Schlüssel, die sich passwortlos authentifizieren dürfen
Jump Host eintragen
- Damit man nicht jedesmal den langen Befehlt tippen muss, um einen JumpProxy zu benutzen, kann man einen Alias setzen
- vim ~/.ssh/config
Host Alias
User Benutzername
Hostname Name/IP des Ziels
ProxyJump Name/IP des Proxys
Alternativen privaten Schlüssel benutzen
- Falls man mehrere private Schlüssel hat kann man so seinen Default-Schlüssel wählen
- vim ~/.ssh/config
IdentityFile /pfad/zum/privaten/schlüssel
Hostkey entfernen
- Falls der Server seinen Hostkey ändert, warnt der SSH-Client vor einer potentiellen MITM-Attacke
- Wenn man sich sicher ist, dass dies nicht der Fall ist, kann man den alten Hostkey entfernen und den neuen akzeptieren
- Standardmäßig befinden sich diese unter ~/.ssh/known_hosts
- Automatisch kann man das folgendermaßen erreichen:
- ssh-kegen -R host
# Host x.x.x.x found: line 364
# Host x.x.x.x found: line 365
# Host x.x.x.x found: line 366
/home/xinux/.ssh/known_hosts updated.
Original contents retained as /home/xinux/.ssh/known_hosts.old