Raspberry pi Server – SSLPi Installation


Alles der Reihe nach:

Lese die Readme-Datei vor dem "ReadMe" für die Konfiguration (Datei ReadMe_Config).

Also lasst uns anfangen:

Nach dem Download der SSLPI_VersX.tar.gz, auf Dein System (Raspberry Pi), entpacke das Archivfile mit dem Befehl

$ tar -zxvf SSLPI_VersX.tar.gz

Dies erzeugt ein Verzeichnis SSLPi_VerX.
(Die X variiert in Abhängigkeit von der Version, die Du heruntergeladen hast.

Wechseln Sie in das Verzeichnis mit

     $ cd SSLPI_VersX

Mit "ls -l" werden folgende Dateien angezeigt

drwxr-xr-x 2 pi pi 4096 Jan 27 13:12 app

drwxr-xr-x 2 pi pi 4096 Jan 27 13:12 Test

-rwxr-xr-x 1 pi pi 6656 Jan 27 14:23 Install.sh

-rw-r--r-- 1 pi pi 4923 Jan 27 15:30 ReadMe_Install

-rw-r--r-- 1 pi pi 4923 Jan 27 15:30 ReadMe_Config

- rw-r--r-- 1 pi pi 4923 Jan 27 15:30 SSLPi.cfg

-rw-r--r-- 1 pi pi 21557 Jan 27 15:24 SSLserverPi_VX.py

-rwxr-xr-x 1 pi pi 550 Jan 27 15:30 startSSLPi.sh

Im app-Verzeichnis befinden sich Beispielanwendung, die mittels der bereits vorhandenen Beispielkonfiguration in der Datei SSLPi.cfg aufgerufen werden.

In dem Verzeichnis TestClient ist ein Beispiel eines Python SSL Client.
Du kannst mit etwas programmieren an Deine eigenen Bedürfnisse anpassen.
Der Client dient zum Test der Kommunikation mit dem Servers, nachdem dieser installiert wurde.


Starte die Installation des Raspberry pi Server SSLPi  mit der Eingabe

$ sudo ./install.sh

Das Skript überprüft ob die erforderliche erforderliche Software, Python2.7 und OpenSSL auf Deinem System bereits vorhanden ist.
Wenn nicht, wird es das Installationsskript beendet und Du musst die fehlende Software installieren.

Zur Information:

OpenSSL kannst Du mit folgendem Befehl installieren

$ sudo apt-get install openssl

Python kannst Du mit folgendem Befehl installieren

$ sudo apt-get install python2.7

Ich glaube nicht, dass dies sehr oft passieren wird, da der Raspberry (& Raspbian) mit Python 2.7 ausgeliefert wird.

Als nächstes wirst Du nach dem Installationsverzeichnis des Raspberry pi Server gefragt. Solltest Du nichts eingeben wird in das Standard Verzeichnis

/home/pi/SSLPi/

gewählt.

Als nächstes gib das Verzeichnis an, wo Du die Zertifikate abgelegt werden sollen. Solltest Du nichts eingeben wird das Standardverzeichnis

/home/pi/SSL/Cert/

gewählt.

Nächster Schritt ist die Erstellung der Zertifikate.

Du wirst drei mal nach einem Passwort gefragt. Gib immer das gleiche Passwort ein.

Danach wirst Du nach mehreren Informationen gefragt

!!! Eine Eingabeaufforderungen fragt nach dem "Common Name (eg, your name or your server's hostname) []:" --diese ist Wichtig !! Gib hier den Domänennamen des Servers ein, unter dem Dein Raspberry pi Server SSLPi aus dem Internet erreichbar ist.

Country Name (2 letter code) [GB]:DE

State or Province Name (full name) [Berkshire]:Bavaria

Locality Name (eg, city) [Newbury]:Munich

Organization Name (eg, company) [My Company Ltd]:IoT4pi

Organizational Unit Name (eg, section) []:Information Technology

Common Name (eg, your name or your server's hostname) []:iot4pi.com

Email Address []:office@iot4pi

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

Wenn Du alles, eingegeben hast wird die Installation erfolgreich beendet.
Der Server startet nun automatisch beim Neustart des Raspberry pi.
Standardmäßig wird der Server auf Port 10023 kommunizieren.

Zur Überprüfung , ob der Server beim Systemstart startet, kann man folgende Befehle abfragen:

$ sudo crontab -l

Dies sollte ein Ergebnis wie folgt bringen:

@reboot sudo /home/pi/SSLPi/startSSLPi.sh >> /home/pi/SSLPi/log 2>&1

Nach dem Neustart kannst Du testen, ob der Server läuft. Gebe folgenden Befehl ein

$ ps aux | grep SSLserverPi

dies sollte etwas wie

root 2133 0.0 0.5 4592 2640 ? S 08:49 0:00 sudo python /home/pi/SSLPi/SSLserverPi_VX.py

bringen.

Die Server-Anwendung ist im, von Dir  angegebenen Installationsverzeichnis zu finden. In diesem Verzeichnis gibt es das app Verzeichnis mit den Beispielskripts.
Die Zertifikate werden in der angegebenen Zertifizierungsverzeichnis gespeichert. Dort finden Du folgende Dateien:

-rw-r--r-- 1 root root 1147 Jan 27 15:31 server.cer

-rw-r--r-- 1 root root 1679 Jan 27 15:30 server.key

-rw-r--r-- 1 root root 1751 Jan 27 15:30 server.orig.key

-rw-r--r-- 1 root root 1338 Jan 27 15:31 server.pem

Im Verzeichnis findest Du die Datei server.pem. Diese Datei ist der Schlüssel mit dem ein Client mit dem Server kommunizieren kann. Die Datei server.pem muss auf den Client kopiert werden (mittels USB Stick, befehl scp .., etc.) !

Ohne sie würde der Server jeden Kommunikationsversuch ablehnen.