Um mit dem LFB Verbindung über FTP oder SSH aufnehmen zu können, benötige ich einen OpenVPN Tunnel. Mein Admin schickt mir hierzu regelmäßig eine P12 Datei (im Folgenden: domain-cert.p12) zu, die ich erst einmal zerlegen muss, damit mein Verbindungsskript reibungslos funktioniert. Da dies nur alle Monate passiert, vergesse ich in der Zwischenzeit leider immer wieder, wie ich vorgehen muss – deshalb mal für mich selbst als Gedächtnisstütze dieses Memo.
Es klappt mit den folgenden drei Schritten:
openssl pkcs12 -in domain-cert.p12 -out domain-ca.pem
openssl pkcs12 -in domain-cert.p12 -out domain-cert.pem -clcerts -nokeys
openssl pkcs12 -in domain-cert.p12 -out domain-key.pem -nocerts
Ohne Vergabe eines Passworts will die Konvertierung bei mir nicht funktionieren, was aber auch OK ist.
Ein Startskript auf dem Desktop
#!/bin/bash
cd /home/dirk/openvpn ; sudo openvpn domain.ovpn
lädt mir dann die OpenVPN Verbindung, die in der Datei domain.ovpn definiert ist:
client
proto udp
remote domain.topleveldomain
ns-cert-type server
dev tun
ca Interne-Domain-CA-cacert.pem
cert domain-cert.pem
key domain-key.pem# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one. On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap# Most clients don’t need to bind to
# a specific local port number.
nobind# Try to preserve some state across restarts.
persist-key
persist-tun# If a tls-auth key is used on the server
# then every client must also have the key.
tls-auth tls-auth-domain.key 1# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x# Enable compression on the VPN link.
# Don’t enable this unless it is also
# enabled in the server config file.
comp-lzo# Set log file verbosity.
verb 3# Silence repeating messages
;mute 20
Abgesehen von den hier genannten Skripten und Prozessen liegen im Ordner ~/openvpn noch die Interne-Domain-CA-cacert.pem und der tls-auth-domain.key zur Domain, die im Skript oben referenziert sind.