UUGRN:10 Jahre UUGRN e.V./Vorträge/ssh config: Unterschied zwischen den Versionen

Aus UUGRN
K (→‎Vortrag: verleufige unterstruktur, Zeitplanung)
K (→‎Ausblicke: innerwikilinks)
 
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<div style="background:#fee846;text-align:left; color: #000;font-weight:bold;font-size:125%;margin: 0px 5px 0px 0; padding: 4px 4px 4px 14px;">Was ist RoarAudio?</div>
{{Flexbox|color=#fee846|titlecolor=#000|title=Was ist ssh_config?|text=
<div style="margin: 0 5px 5px 0; padding: 1em 1em 1em 1em; border: 1px solid #fee846; background-color:#fffdf5;">
; Ziel : ein Vortrag über [[OpenSSH]]s Client Config Datei ''ssh_config'' vor einem Unixpublikum mit grundlegendem Vorwissen zum Thema.
; Ziel : ein Vortrag über [[OpenSSH]]s Client Config Datei ''ssh_config'' vor einem Unixpublikum mit grundlegendem Vorwissen zum Thema.
</div>
}}
 


== Der Autor ==
== Der Autor ==
Zeile 13: Zeile 11:
=== Was ist die ssh_config? ===
=== Was ist die ssh_config? ===
{{Vortrags Zeit|2}}
{{Vortrags Zeit|2}}
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 ''ssh'''d'''_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? ===
=== Welche wichtigen Optionen gibt es? ===
{{Vortrags Zeit|5}}
{{Vortrags Zeit|5}}
Es gibt verschiedenste Optionen, die folgende Tabelle stellt die wichtigsten vor.
{| class="wikitable"
! Option
! Parameter
! Beschreibung
|-
| ForwardX11
| Bool
| Soll X11 Forwarding Aktive sein?
|-
| Compression
| Bool
| Soll Kompression verwendet werden?
|-
| LocalForward
| <nowiki>[bind_address:]port:host:hostport</nowiki>
| Port Forwarding: Lokaler Port wird über Server an Remote Maschine weitergeleitet
|-
| RemoteForward
| <nowiki>[bind_address:]port:host:hostport</nowiki>
| 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
|-
| <s>User</s>
| Username
| Username der an die Gegenseite geschickt wird
|-
| <s>Port</s>
| Port Nummer
| Port auf dem der Server hört
|-
| <s>HostName</s>
| 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 ===
=== Host Profile ===
Zeile 22: Zeile 77:
=== Master mode ===
=== Master mode ===
{{Vortrags Zeit|3}}
{{Vortrags Zeit|3}}
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 ====
Die Vorteile hiervon sind:
* Schneller Verbindungsaufbau
Die Nachteile:
* Die Master Sitzung muss bestehen bleiben bis alle Slave Verbindungen abgebaut sind
==== Config Beispiel ====
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 '''R'''emote Username, '''H'''ostname und '''P'''ort 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 ===
{{Vortrags Zeit|???}}
* SSH als Transport
* SSH Basierende [[VPN]]s
* SSH und [[Proxy]]s
* SSH und [[DECnet]]
* ...


== Fragen ==
== Fragen ==

Aktuelle Version vom 30. Dezember 2009, 13:00 Uhr

Was ist 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
User Username Username der an die Gegenseite geschickt wird
Port Port Nummer Port auf dem der Server hört
HostName 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