Generieren und Exportieren von Zertifikaten – Linux (strongSwan)
In diesem Artikel erfahren Sie, wie Sie mithilfe von strongSwan ein selbstsigniertes Stammzertifikat erstellen und Clientzertifikate generieren. Die Schritte in dieser Übung helfen Ihnen beim Erstellen von PEM-Zertifikatdateien. Wenn Sie stattdessen PFX- und CER-Dateien benötigen, lesen Sie die Anweisungen für Windows PowerShell.
Bei Point-to-Site-Verbindungen muss auf jedem VPN-Client lokal ein Clientzertifikat installiert sein, um eine Verbindung herstellen zu können. Darüber hinaus müssen die Informationen für den öffentlichen Schlüssel des Stammzertifikats in Azure hochgeladen werden. Weitere Informationen finden Sie unter Point-to-Site-Konfiguration – Zertifikatauthentifizierung.
Installieren von strongSwan
Die folgenden Schritte helfen Ihnen bei der Installation von strongSwan.
Die folgende Konfiguration wurde bei der Angabe von Befehlen verwendet:
- Computer: Ubuntu Server 18.04
- Abhängigkeiten: strongSwan
Verwenden Sie die folgenden Befehle, um die erforderliche strongSwan-Konfiguration zu installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0
Linux CLI-Anweisungen (strongSwan)
Die folgenden Schritte helfen Ihnen beim Generieren und Exportieren von Zertifikaten mithilfe der Linux CLI (strongSwan). Weitere Informationen finden Sie in den zusätzlichen Anweisungen zum Installieren der Azure CLI.
Generieren des Zertifizierungsstellenzertifikats
ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem
Drucken Sie das Zertifizierungsstellenzertifikat im Base64-Format. Dies ist das Format, das von Azure unterstützt wird. Sie laden dieses Zertifikat im Rahmen der Schritte für die P2S-Konfiguration in Azure hoch.
openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo
Generieren Sie das Benutzerzertifikat.
export PASSWORD="password"
export USERNAME=$(hostnamectl --static)
ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"
Generieren Sie ein p12-Paket mit dem Benutzerzertifikat. Dieses Paket wird in den nächsten Schritten bei der Arbeit mit den Clientkonfigurationsdateien verwendet.
openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"
Nächste Schritte
Fahren Sie mit der Point-to-Site-Konfiguration fort. Weitere Informationen finden Sie unter Konfigurieren von P2S-VPN-Clients: Zertifikatauthentifizierung – Linux.