UUGRN:10 Jahre UUGRN e.V./Vorträge/ssh config
- Ziel
- ein Vortrag über OpenSSHs Client Config Datei ssh_config vor einem Unixpublikum mit grundlegendem Vorwissen zum Thema.
Der Autor[Bearbeiten]
Philipp ph3-der-loewe Schafft, Software Entwickler und langjähriger OpenSSH user.
Abstrakt[Bearbeiten]
Vortrag[Bearbeiten]
Was ist die ssh_config?[Bearbeiten]
(Geplante Zeit: 2 Minuten)
Bei der Datei ssh_config handelt es sich um die Konfiguration des OpenSSH Clients. Sie dient dazu Parameter zu setzen welche das Verbinden mit anderen Rechnern steuern, zum Beispiel das setzen von Port nummern. Sie sollte nicht mit der Datei sshd_config verwechselt werden welche den OpenSSH Server Steuert.
Die Datei findet sich normalerweise im Verzeichnis .ssh im Home-Verzeichnis des Benutzers unter dem Namen config. Es kann aber auch über die Option -F ein anderer Dateiname angegeben werden.
Welche wichtigen Optionen gibt es?[Bearbeiten]
(Geplante Zeit: 5 Minuten)
Es gibt verschiedenste Optionen, die folgende Tabelle stellt die wichtigsten vor.
Option | Parameter | Beschreibung |
---|---|---|
ForwardX11 | Bool | Soll X11 Forwarding Aktive sein? |
Compression | Bool | Soll Kompression verwendet werden? |
LocalForward | [bind_address:]port:host:hostport | Port Forwarding: Lokaler Port wird über Server an Remote Maschine weitergeleitet |
RemoteForward | [bind_address:]port:host:hostport | Port Forwarding: Port auf Server wird an Lokalen Port weiter geleitet |
DynamicForward | Port Nummer | Dynamiches Portforwarding, SSH wird hier zum SOCKS Proxy |
IdentityFile | Filename | Private Key um PublicKey Auth zu machen |
Username | Username der an die Gegenseite geschickt wird | |
Port Nummer | Port auf dem der Server hört | |
Hostname | Hostname des Servers | |
BindAddress | Hostname | Lokale Adresse auf die SSH binden soll. |
ProxyCommand | Command | Befehl der ausgeführt wird um mit dem Server zu reden. |
Host Profile[Bearbeiten]
(Geplante Zeit: 5 Minuten)
Master mode[Bearbeiten]
(Geplante Zeit: 3 Minuten)
Der Master Mode ermöglicht es durch eine physikalische verbindung weitere logische SSH Verbindungen auf zu bauen. Dazu wird eine SSH Verbindung als Master gestartet. Weitere SSH Verbindungen zum selben Host mit selbem User auf der Gegenseite können nun die Verbindung mit nutzen und brauchen keine neue, eigene physikalische Verbindung aufbauen.
Der Slave verbindet in diesem falle mittels UNIX Socket auf den Master anstatt auf den Server auf der Gegenseite. Hierzu muss ein entsprechender Master Socket angegeben werden. Siehe hierzu das Beispiel.
Vor- und Nachteile[Bearbeiten]
Die Vorteile hiervon sind:
- Schneller Verbindungsaufbau
Die Nachteile:
- Die Master Sitzung muss bestehen bleiben bis alle Slave Verbindungen abgebaut sind
Config Beispiel[Bearbeiten]
ControlPath ~/.ssh/masters/ssh-Control-%r@%h:%p ControlMaster auto
In diesem Beispiel wird von ssh im Pfad %r, %h und %p ersetzt. Diese werden entsprechend durch Remote Username, Hostname und Port ersetzt.
Der Parameter auto der Option ControlMaster gibt an das eine Neue Verbindung dann zum Master wird wenn kein anderer aktuell für diese Verbindung existiert und falls einer existiert zum Slave wird.
Ausblicke[Bearbeiten]
(Geplante Zeit: ??? Minuten)
Fragen[Bearbeiten]
- immer gerne