Um einen gesicherten Zugriff von unterwegs auf meine Windows-Computer zu haben, hatte ich schon früher OpenSSH als Win32 installiert. Diese Installation war seit geraumer Zeit defekt und ich hatte micht nun für eine Neu-Installation entschlossen. Recherchen, wie man OpenSSH unter Windows installiert ergaben jetzt aktuell, dass Mark Bradshaw seine Win32-Portierung (http://www.networksimplicity.com/openssh/) nicht mehr empfiehlt.
Stattdessen soll man die Cygwin-Version benutzen, die auch als Windows-Service laufen kann (im Unix-Jargon “Daemon” genannt).
Auf der anderen Seite wurde ganz neu (05.03.2004) von Michael Johnson ein Sourceforge-Projekt “sshwindows” registriert, das ein Binary des OpenSSH ohne das volle Cygwin zur Verfügung stellt. Ich beschreibe daher beide Varianten. Mittelfristig möchte ich Cygwin nämlich wieder rausschmeissen, da es zusammen mit dem NTFS-Filesystem ziemlich nervt.
Der Installer legt im Registry folgende Cygwin-Mounts ab (HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2):
/ als c:\Programme\OpenSSH
/home als c:\Dokumente und Einstellungen
/usr/bin als c:\Programme\OpenSSH/bin
Da der Befehlszeilen-Interpreter switch.exe ein oberhalb der Laufwerke liegendes “/” nicht versteht, müssen um auf alle Festplattenlaufwerke zugreifen zu können, noch manuell folgende Mounts in die Registry eingetragen werden (analog zu den dort bereits vorhandenen Mounts):
/c auf c:
/d auf d:
/e auf e:
Dann kann der SSH-Client SSHSecureShell mit ”>Opteration>Go to Folder…” diese ansprechen.
In die Datei /etc/passwd wird für jeden User das sog. Home-Verzeichnis und die zu verwendende Shell (Befehlszeilen-Interpreter) eingetragen.
Da wir in dieser Variante kein volles Cygwin mit einem schönen Bash installiert haben, müssen wir das von OpenSSH mitgelieferte switch.exe verwenden. Dieses schaltet zwischen cmd.exe (Windows) ind sh.exe (Cygwin schlicht) “intelligent” hin und her.
Mounts in der Registry
Abbildung 1: Cygwin Mounts in der Windows Registry (Google Drive: SSH_52da44c27a_o.jpg)
Konfiguration OpenSSH (ohne Cygwin)
Anlegen der Dateien group und passwd, diese werden mit den Daten der Windows-User-Konten gefüllt.
cd \Programme\OpenSSH\bin
mkgroup -l >../etc/group
mkpasswd -l >../etc/passwd
Das in der Datei passwd angegebene User-Verzeichnis (z.B. /home/dkracht) muss vorhanden sein.
Starten und Stoppen des SSH-Servers: net start/stop opensshd
Achtung die Konfigustationsdateien sshd_conf und ssh_config werden in /etc erzeugt. Das ist in dieser Variante gemappt auf D:/programme/OpenSSH/etc. Lösch- und Scheibberechtigung für /etc wird benötigt.
Installation von OpenSSH (mit Cygwin)
Definitive Software Library ID: OpenSSH
Name: OpenSSH Server unter Cygwin
Version: 3.8p1-1
Hersteller/Bezugsquelle: Cygwin
Installationsplattform: Windows 2000 Notebook mit Cygwin
Installations-Ordner: C:\Programme\OpenSSH
Konfiguration:
C:\Programme\Cygwin\etc\sshd_conf (weil \ gemounted ist auf: C:\Programme\Cygwin)
C:\Programme\Cygwin\etc\passwd (weil \ gemounted ist auf: C:\Programme\Cygwin)
OpenSSH benutzt die im Registry bereits durch die Cygwin-Installation eigerichteten Cygwin-Mounts (HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2):
/ als c:\Programme\Cygwin
/usr/bin als c:\Programme\Cygwin/bin
/usr/lib als c:\Programme\Cygwin/lib
/cygwindrive/c als c:
/cygwindrive/d als d:
In die Datei /etc/passwd wird für jeden User das sog. Home-Verzeichnis und die zu verwendende Shell (Befehlszeilen-Interpreter) eingetragen.
Da wir in dieser Variante auf dem vorhandenen Cygwin aufbauen, können wir ”’Cygwin Bash”’ verwenden.
Cygwin ist bereits installiert (cygcheck -s sagt: cygwin.dll version 1.5.9)
Mit Cygwin Stepup 2.416 werden folgende Packages nachinstalliert:
cygrunsrv (aus Cygwin Admin)
openssh (aus Cydwin Net)
shutdown (aus Cygwin Admin)
Unter Cygwin (bash shell) eintippen:
ssh-host-config -y
Wenn die Eingabeaufforderung “CYGWIN=…” kommt, eingeben: “tty ntsec”
Die Installation von OpenSSH ist fertig
Zum Starten des OpenSSH-Daemon als Windows-Service, unter Cygwin (bash shell) eintippen:
cygrunsrv -S sshd
Achtung die Konfigurationsdateien ‘sshd_conf’ und ‘ssh_config’ werden in /etc erzeugt. Das ist in dieser Variante gemappt auf D:/programme/Cygwin/etc. Lösch- und Scheibberechtigung für /etc wird benötigt.
SSH steht für Secure Shell und ist ein TCP/IP-basiertes Remote Connection Protocol (Port 22) wobei SSH1 ein älteres und SSH2 das aktuelle SSH-Protokoll ist. Zur Verschlüsselung (Encryption) stehen verschiedene Verfahren zur Auswahl: Blowfish, 3DES,…
SSH leistet im Wesentlichen drei Dinge:
Sicherer telnet Ersatz (Verschlüsselung von Userid/Password und des Traffics)
Sicherer FTP-Client-Ersatz: Secure Copy (scp) über SSH-Connections
Port-Forwarding (Tunneling)
Man benötigt zum Aufbau einer SSH-Connection einen SSH-Server (gerne daemon genannt) und einen SSH-Client:
Im Internet ist eines der ältesten Protokolle das FTP = File Transfer Protokoll.
Wenn auf irgendeinem Knoten im Internet eine FTP-Server läuft. können wir von anderen Computern aus über des Internet per FTP-Client eine Verbindung herstellen.
Eine FTP-Verbindung ermöglicht es dann Dateien von einem Computer auf den anderen Computer zu schicken (File Transfer).
Da FTP so alt ist, funktioniert es gut und einfach, aber es ist nicht so sicher, wie man das mittlerweile eigentlich haben möchte. Ein moderneres und sicheres Protokoll ist SSH.
In Unix war FTP natürlich zuhause. Unter Windows musste man früher einige Klimmzüge machen, um eine FTP-Verbindung herzustellen.
FTP-Clients unter Windows
Windows selbst einfält einen einfachen FTP-Client auf Kommandozeilen-Basis.
Sehr beliebt ist der freie FTP-Client “Filezilla” wo man eine grafischen Benutzeroberfläche hat und Files per Drag-and-Drop tansferrieren kann. Außerdem können Verbindungen zu mehreren FTP-Servern mit einem Click hergestllt werden…
FTP-Client zum Web-Authoring
Wenn man seine Files (Dateien) auf einem Server bei einen externen Provider verwaltet (z.B. Web Pages, Bilder etc.) kann man die vom Server des Providers herunterladen, lokal bearbeiten und dann wieder hochladen zum Provider. Das Herunter- und Heraufladen kann man sehr einfach mit einem FTP-Client wie FileZilla bewerkstelligen.
Aus dem Wiki:
FTP-Client
Funktionalität
Upload von Dateien zum WebProvider-Provider
Upload von meheren Dateien und von ganzen Directories
Beim Upload das File-LastModified-Datum beibehalten (nicht das Upload-Datum!)
Modifizieren von File-Attributen (Read/Write/Excute und Owner)
Short List
WS_FTP von Ipswitch Inc. (Als Klassiker verwende ich seit vielen Jahren)
FileZilla evtl. für mich besser geeignetes Produkt (OpenSourceSoftware), will ich mich damit beschäftigen.
SSH wird schon bei einem meiner WebProvider-Provider als Standard verlangt.
Auswahl
Da bereits langjährig im Einsatz, wird zunächst WS_FTP beibehalten. Der Aufwand für einen Wechsel muss gut überlegt werden.
Fotos kann man auch auf picr.de hosten…
Auch bei Google geht es, wenn man die Archiv-Funktion benutzt.
Google Drive statt Google Photos
Da die Archiv-Funktion von Google Fotos von Google abgeschaltet wurde, stelle ich jetzt um auf Google Drive.
Fotos von Google Drive kann ich nicht per IMG-Tag einbinden, sondern “nur” einbetten als IFRAME.
Google Photos statt Flickr
Leider hat jetzt (Nov. 2018) Flickr seine Pläne geädert und will in Kürze nur noch viel weniger Space kostenlos anbieten. Deshalb habe ich mich nach kostenlosen Alternativen umgesehen. Mit Google Photos scheint das gut zu gehen.
Leider sind meine Google Fotos manchmal nicht auf dem WordPress-Blog zu sehen. Möglicherweise ist das eine Frage der Berechtigung oder es liegt daran, dass mein Plattenplatz bei Google aufgebraucht ist. Wie dem auch sei, ich hole jetzt (Nov. 2019) meine WordPress-Fotos zurück nach Flickr. 1000 Fotos sind bei Flickr ja frei; dass sollte zumindest für meine Astro-Fotos auf WordPress reichen.
Wie war das damals mit Flickr?
Da ich meine WordPress-Blogs nicht bei wordpress.com oder wordpress.org betreibe (“hoste”), sondern sog. “Self Hosted WordPress” betreibe, möchte ich zur Erhöhung meiner Flexibilität, die vielen Fotos, die ich in meinen Blog-Artikeln verwende unabhängig im Internet verwalten.
Mein erster Versuch in dieser Richtung, war es diese Fotos in Flickr zu verwalten und dann per WordPress-Plugin “WordPress Flickr Embed Plus” in die Blog-Artikel einzubinden. Das hat auch wunderbar geklappt. Allerdings hat jetzt Flickr seine Pläne geädert und will in Kürze nur noch viel weniger Space kostenlos anbieten. Deshalb habe ich mich nach kostenlosen Alternativen umgesehen.
WordPress Plugin für Flickr
Als erstes müssen wir das Plugin “WordPress Flickr Embed Plus” in unserem “Self Hosted WordPress” installieren und aktivieren. Dann erscheint im WordPress bei “Edit Post” die kleine Schaltfläche “Add Flickr photo” und es kann direkt aus Flickr ein Foto zum Einfügen in den WordPress Post ausgewählt werden siehe untenstehedes Bild:
Da ich mit meinen Fotos ja von Flickr auf Google Fotos umgezogen bin, sieht man hier vielleicht NICHTS,
Abbildung 1: Mozilla Firefox –> “blog.kr8.de/wp-admin” –> Posts –> Edit Post (Google Drive: WordPress-Flickr-01.jpg)
In den ersten Jahren des Internets habe ich vor Begeisterung versucht eine “richtige” Website aufzubauen um Erfahrungen zu sammeln. Dazu hatte ich verschiedene HTML-Tools verwendet, um eine Menge von Web-Seiten zu verwalten und eine schöne Navigation mit Menüs etc. hinzubekommen. Später habe ich meine Ansprüche heruntergeschraubt und im wesentlichen nur noch mit Web-Auftritten in Art eines elektronischen Zettelkastens, eines Begriffs-Lexikons oder einer Chronik gearbeitet. Dazu bin ich bald auf die Form von Wikis gestoßen.
Als Software zur Erstellung und Pflege solcher “Zettelkästen” habe ich im Laufe der Zeit verschiedenes versucht:
Am Ende waren meine Anforderungen bescheiden, nämlich:
Jede “Notiz” soll eine Überschrift und einen Textkörper haben
Jede “Notiz” soll ein (editierbares) Erstellungsdatum haben
Jede “Notiz” soll eine Kategorie haben über die man irgendwie auch navigieren kann
Im Text von Notizen soll man leicht zu anderen Notizen verlinken können “Hypertext” z.B. a la Wiki
Volltextsuche im gesamten Bestand
Damit wurde mir klar, ich brauche ein gutes Blogging-Tool. Nach einigem Hin und Her habe ich mich für WordPress entschieden.
Was ich über WordPress gelernt habe
Heute (2018) benutze ich WordPress als haupsächliches Tool für meine Internet-Auftritte und Blogs. Deshalb habe ich schon viele Einzel-Artkel über WordPress geschrieben.
Nun will ich in diesem “WordPress-Oberartikel” einmal alles zusammenstellen, was ich bis jetzt über WordPress geschrieben habe:
Einen neuen Usernamen mit Passwort eingeben. Dann Bestätigung an der FritzBox.
User für VPN berechtigen.
1.3. DynDNS für die FritzBox einrichten
Beim Provider NO-IP habe ich ein Konto.
Zwei Adressen sind eingerichtet: kr8.zapto.org und kr8nas.zapto.org
DynDNS auf der FritzBox einrichten: FritzBox -> Internet -> Freigaben -> DynDNS
1.4. VPN-Einstellungen der FritzBox
Die VPN-Einstellungen der FritzBox ausdrucken: FritzBox -> Internet -> Freigaben -> VPN (IPsec)
Besonders wichtig ist dabei die Zeile “IPSec-Schlüssel / Shared Secret“. Diese Zeichenkette wird beim Verbindungsaufbau durch einen VPN-Client benötigt.
Nach einem Austausch meiner FritzBox musste ich erneut dieses “Shared Secret” holen…
2. VPN Client: Windows 11 Laptop
Vor langer Zeit hatte ich das mit der Software “ShrewSoft” gemacht. Das hat funktioniert und ich bin bis heute dabei geblieben, obwohl es mittlerweile Alternativen gibt.
2.1 Download der Software ShrewSoft
xyz
VPN mit der Fritzbox
Meine FritzBox kann ich als Endpunkt für ein VPN konfigurieren. (Der SpeedPort DSL-Router von der Telekom macht das nicht.)
Wie das im Einzelnen geht, habe ich oben aös “Quick Guide” beschrieben.
VPN zur Fritzbox mit AVM-Software
Als VPN-Client kann man die vom Hersteller AVM angebotene Lösung einsetzen.
Dort habe ich ein Konto und unter diesem Konto zwei Adressen eingerichtet: kr8.zapto.org und kr8nas.zapto.org.
Beispielwerte dieser Anleitung
Mit dieser Anleitung verbinden Sie einen Computer mit Shrew Soft VPN Client 2.2.2 mit der FRITZ!Box. Ersetzen Sie die hier genannten Beispielwerte beim Einrichten der Verbindung durch die von Ihnen tatsächlich verwendeten Werte.
MyFRITZ!-Domainname der FRITZ!Box: pi80ewgfi72d2os42.myfritz.net
Benutzername des FRITZ!Box-Benutzers: Max Mustermann
Kennwort des FRITZ!Box-Benutzers: geheim
Shared Secret des FRITZ!Box-Benutzers: Zj7hPCouK65IrPU4
MyFritz
Um MyFritz nutzen zu können, muß man zunächst einmal ein Benutzerkonto anlegen.
Internet -> MyFritz-Konto -> Neues MyFritz-Konto erstellen
VPN steht für Virtual Private Network und bedeutet, dass durch das offene Internet ein verschlüsselter Tunnel aufgemacht wird, der eine geschütze Verbindung zwischen einen Startpunkt (VPN-Client) und einem Endpunkt (VPN-Server) herstellt.
Ich habe mich mit einer Reihe von VPN-Lösungen beschäftigt: