Remote Shell

An einer Schule kann man SuS mit zum Unterrichten geeignet vorkonfigurierten Rechnern versorgen. Für BYOD oder HomeOffice (erkrankte Schüler, Corona) kommt das nicht in Frage und Installationsanleitungen für den existierenden heterogenen Rechnerzoo bereitzustellen ist unmöglich. Nebenbei ist eine Verpflichtung zu Installation von Software auf Privatgeräten nicht zulässig und selbst eine Empfehlung bedeutet die Übernahme von Pflichten wie die Datenschutzvorschriften (durch den Softwareanbieter) einzuhalten.

Idee

Stattet man einen Rechner mit dem Nötigsten aus und erlaubt eine Fernsteuerung per Browser, so kann man viele der obigen Probleme lösen. Aus Performancegründen (wir warten auch noch auf DIE schnelle Glasfaserleitung) kommen hierfür derzeit nur Konsolenanwendungen in Frage.

SQLite kann man prima auf der Konsole bedienen und es passt zum Informatikstoff 9. Klasse.

Realisierung

die SuS greifen mit einem Browser auf einen Gateway-Server / Remote-Proxy zu. Dieser ist natürlich aus dem Internet zu erreichen.

der Gateway-Server greift über ein eigenes (virtuelles) Netz auf einen Rechner zu, auf dem Shellinabox läuft.

Shellinabox ist eine Software, die einen lokalen Webserver bereitstellt, der eine Kommandozeile mit Login usw. präsentiert. Ein-/Ausgaben werden per Ajax übertragen.

Vorarbeiten

DynDNS-Dienst wählen und einrichten (z.B. auf remotezugangabcschule.my-firewall.org)

Subdomain einer eigenen Domäne registrieren (z.B. remote.abc-schule.edu)

Subdomain-DNS von remote.abc-schule.edu erhält CNAME-Eintrag mit der DynDNS-Adresse remotezugangabcschule.my-firewall.org

KVM-Server

sollte bereits installiert sein

erhält zusätzlich das virtuelle „Schulnetz“ mit eigenem IP-Adressenbereich, der nicht geroutet wird.

Bsp.: 192.168.33.0/24

Shellinabox-Server

Standard Debian Buster ohne graphische Oberfläche im LAN installieren

Shellinabox installieren, Portnummer auf 443 verlegen

testen

dann in das Schulnetz umhängen und feste IP-Adresse festlegen, z.B. 192.168.33.133/25 (kann KVM-Server nicht erreichen - ok)

Gateway-Server

Standard Debian Buster ohne graphische Oberfläche im LAN installieren

zweite Netzwerkkarte zum „Schulnetz“ mit fester IP-Adresse konfigurieren, z.B. 192.168.33.144/25

Apache und certbot installieren

Skript für DynDNS-Aktualisierung - testen! Wenn mit IPv6: Teste immer beide Protokolle!

letsencrypt via certbot konfigurieren

apache wird dabei mitkonfiguriert!

Den virtual host anpassen, dass er /shell per proxymodul vom shellinabox-Server holt

Details folgen....