IdentitiesOnly in ssh_config

Der OpenSSH-Client bietet die Möglichkeit mehrere Keys zu verwalten. Das ist nützlich, wenn man z.B. für unterschiedliche Server unterschiedliche Keys verwendet. Oder bei gitolite einen Key für Shell-Zugriff besitzt und einen für die git-Repositories selbst wobei nur letzterer auf den Command-Line-Wrapper gitolite-shell gemappt ist.

Für diesen Zweck richtet man in der Datei ~/.ssh/config zwei Hosts mit unterschiedlichen Keys (“Identities” genannt) ein:

Host hostgit
  Hostname git.example.com
  IdentityFile ~/.ssh/id_git

Host hostshell
  Hostname git.example.com
  IdentityFile ~/.ssh/id_shell

Leider ist mit dieser Konfiguration alleine nicht sichergestellt, daß der angegebene Key verwendet wird. Es kann nach wie vor vorkommen, daß genau der falsche Key dem Server geschickt wird. Das liegt daran, daß der ssh-agent eine eigene Logik hat, welche Keys er auswählt und die IdentityFile – Angaben lediglich diese Keys der Liste der möglichen Keys hinzufügen.

Continue reading “IdentitiesOnly in ssh_config”

Wie man den kompletten Internet-Verkehr über OpenVPN tunnelt

Ein Anwendungsszenario für OpenVPN ist es, den gesamten Internet-Verkehr zu tunneln, weil man sich z.B. gerade in einem nicht vertrauenswürdigen Netz (z.B. unverschlüsseltes WLAN) aufhält und gezwungen ist, unverschlüsselte Protokolle zu benutzen oder bestimmte Dienste blockiert sind. Es wird davon ausgegangen, daß der OpenVPN-Server sich in einem zumindest vertrauenswürdigeren Netzwerk befindet.

Im Folgenden wird eine mögliche Konfiguration beschrieben unter RHEL / CentOS 4.

Continue reading “Wie man den kompletten Internet-Verkehr über OpenVPN tunnelt”