PuTTY-Einrichten

Aus Faktura-XP Handbuch
Zur Navigation springen Zur Suche springen

PuTTY ist eine freie Software zum Herstellen von Verbindungen über Secure Shell (SSH) für z.B. einen Remote login auf einem entfernten Server . Dabei dient PuTTY als Client und stellt die Verbindung zu diesem Server her. Beim Verbindungsaufbau wird die Identität des Benutzers mittels einer der bereitgestellten Methoden zur Authentifizierung überprüft.


.

Wann ist PuTTY notwendig

Das Programm PuTTY wird dann notwendig wenn der Datenbankbetreiber (der Dienstleister bei dem die Datenbank des Shops über das Internet angeboten wird) einen Zugriff außerhalb des Geräts selbst nicht zulässt. Allein betrachtet benötigt ein Onlineshop keinerlei Zugriff von Außen. Die Datenbank ist auf dem gleichen Gerät, dem Server verfügbar wie die Onlineshop-Software (z.B. xt:Commerce, Gambio, Shopware etc.) selbst. Sie greift also auf sich selbst, dem localhost zu.

06.PuTTY Webseiten Besucher.png

Der normale Shopbesucher benötigt keinerlei speziellen Zugriffserlaubnisse und kommt mit der Datenbank des Onlineshops nicht in Berührung, da beim Aufruf der Webseite ihres Onlineshops der Server die Kommunikation zur Datenbank bzw. zum Besucher weiterleitet. Dies gilt auch für Tätigkeiten im Backend / Administrationsbereich des Onlineshops.


06.PuTTY Datenbank Direktzugriff.png

Programme wie z.B. Faktura-XP greifen nicht auf die Onlineshop-Software sondern auf die dahinterliegende Datenbank zu. Erlaubt der Betreiber einen Zugriff direkt über das Internet kann eine direkte Kommunikation ohne Umwege geschehen. Die Verarbeitung der Daten aus der Datenbank sowie Authentifizierung und Zugriff wird über den sogenannten ODBC-Treiber gelöst. Faktura-XP unterstützt hierbei Treiber für MariaDB® bzw. MySQL® basierende Datenbanken.


06.PuTTY Zugriff ueber SSH Tunnel.png

Ist dieser direkte Zugriff nicht erlaubt, kann ein indirekter Zugriff über einen SSH-Zugang auf Serverseite sowie einen SSH-Tunnel auf Benutzerseite erfolgen. Durch diese Art der Kommunikation kann direkt mit dem Server kommuniziert werden als wäre der Benutzer selbst der Server. Gesteuert wird dann der Zugriff durch den SSH-Tunnel und dessen Einstellungen welche im nächsten Abschnitt Schritt für Schritt erläutert werden Anhand des Programms PuTTY.

Wichtig: Für den SSH-Zugang gelten andere Zugangsdaten als für die eigentliche Datenbank.


.

Überprüfen des Zugriffs der Datenbank über das Internet

Einige Provider erlauben das selbstständige Einstellen eines Zugriffs der Datenbank über das Internet. Im Beispiel "All-Inkl.com" kann dies im sogenannten KAS (Kunden-Administrations-Service) je Datenbank selbst eingestellt werden. Wie die Bezeichnung der Einstellung lautet oder ob diese verfügbar ist hängt vom jeweiligen Betreiber und des jeweiligen gebuchten Tarifs / Produkts ab.

06.PuTTY Einstellungen Hoster.png

Ist diese Option bei ihrem Provider möglich sollten Sie die direkte Verbindung dem SSH-Tunnel bevorzugen da die Verarbeitungsgeschwindigkeit hier deutlich erhöht ist. Bei einer direkten Datenbankverbindung ist die Einrichtung von PuTTY nicht notwendig und es kann mit der Einrichtung des MariaDB-Treiber bzw. des MySQL-Treiber fortgefahren werden.

PuTTY herunterladen

Grundsätzlich wird PuTTY mit Faktura-XP in aktueller Version mitgeliefert. Sie finden die Anwendung im Bin-Verzeichnis ihrer Faktura-XP-Installation.

06.PuTTY Bin Verzeichnis FakturaXP.png

Die neuste Version PuTTY kann über die offizielle Webseite PuTTY.org im Bereich "Download PuTTY" oder direkt über diesen Link heruntergeladen werden.


.

Einrichten eines SSH-Tunnels

Die nachfolgenden Schritte sind für die Einrichtung eines Zugriffs zu ihrem Webshop-Betreiber. Je nach Betreiber kann die Einrichtung sowie einzelne Schritte leicht abweichen.


.

SSH-Sitzung einrichten

06.PuTTY einrichten Session Name und Host.png

Nachdem Sie PuTTY geöffnet haben werden Sie mit der "PuTTY Configuration" begrüßt und haben automatisch die "Category" namens "Session" (1) ausgewählt und offen. Tippen Sie unter Host Name (or IP address) (2) ihre die Internetadresse ein unter welcher ihr Shop erreichbar ist. Sollten von ihrem Shopbetreiber abweichende Informationen vorliegen dann diese hier eingeben. Unter Port lassen Sie 22 stehen.

Klicken Sie nun im unteren Bereich bei "Saved Sessions" (3) in das leere Eingabefeld und geben Sie der Sitzung einen einfachen Namen. Achten Sie am besten darauf keine Sonderzeichen zu verwenden. Mit einem Klick auf "Save" werden die gerade eingegebenen Informationen in der von ihnen namentlich angegebenen Sitzung gespeichert. In diesem Beispiel werden wir den folgenden Sitzungsnamen verwenden:

Onlineshop


06.PuTTY einrichten SSH Einstellungen.png

Wechseln Sie danach im linken Bereich "Category" in den Unterpunkt Connection und klicken Sie auf den Menüpunkt SSH (4) um das Verhalten der SSH-Verbindung festzulegen. Stellen Sie folgende Einstellungen (5) hier ein:

Bezeichnung der Einstellung Wert Erklärung der Einstellung
Don't start a shell or command at all aktivieren Unterdrückt weitere Fenster oder Eingabemöglichkeiten, sobald die Verbindung aufgebaut ist
Enable compression aktivieren Die Datenübertragung wird komprimiert, was die Übertragung schneller macht
SSH protocol version 2 Verwenden sie die aktuellste Version des SSH-Protokolls
Share SSH connections if possible deaktivieren Der Zugriff auf den Onlineshop-Server ist einzig und alleine über diese Verbindung möglich. Dies verhindert, dass andere Programme unerlaubt Zugriff bekommen.
Upstream (connecting to the real server) aktivieren Erlaubt es, Daten an den Server zu senden
Downstream (connecting to the upstream PuTTY) aktivieren Erlaubt es, Daten vom Server zu empfangen
06.PuTTY einrichten SSH Einstellungen Portweiterleitung.png

Klicken Sie nun in der Navigation "Category" auf das Plus-Symbol vor dem Eintrag SSH (6). Klicken Sie auf den darin befindlichen Eintrag Tunnels (7) um mit der Einrichtung fortzufahren.


In diesem Abschnitt stellen wir jetzt ein, wie wir auf bestimmte Anwendungen und dessen Kanäle (Ports) auf dem entfernten Server zugreifen können. Dies ist wichtig, da wir mit dem Tunnel Weiterleitungen an diese Kanäle (Ports) ermöglichen. Sind diese nicht eingerichtet, besteht zwar die Verbindung zum entfernten Server, eine Kommunikation ist aber nicht möglich.


Stellen Sie folgende Einstellungen (8) hier ein:

Bezeichnung der Einstellung Wert Erklärung der Einstellung
Local ports accept connections from other hosts aktivieren Dadurch wird erlaubt dass der Onlineshop-Server Verbindungen zu diesem Computer selbstständig aufbauen kann
Remote ports do the same (SSH-2 only) aktivieren Durch aktivieren dieser Option kann der SSH-Tunnel eine Verbindung zum Onlineshop-Server herstellen wenn keine Verbindung besteht.


Unter Add new forwarded port (9) wird nun der jeweilige Kanal geöffnet

in der Regel werden folgende Einstellungen hinterlegt:

Bezeichnung der Einstellung Wert Beispieleingaben und Erläuterung
Source port 3306 Der Standard-Port für MySQL und MariaDB-Datenbanken
Destination URL des MySQL-Servers inklusive Port z.B. mysql5.meinonlineshop.local:3306 hierbei wird kein http oder https angegeben, die Angabe des Ports Serverseitig wird mit einem Doppelpunkt und der Portnummer angegeben


06.PuTTY einrichten SSH Portweiterleitung hinzufügen.png

Lassen Sie die Auswahl-Optionen unter der Eingabe Destination auf "Local" und "Auto" stehen und klicken Sie abschließend auf Add um die Einstellungen zu übernehmen.

06.PuTTY einrichten Session speichern.png

Wechseln Sie nun in der Navigation "Category" wieder auf den obersten Punkt "Session" (10) und klicken Sie auf Save (11) um die Einstellungen zu Speichern.

Wichtig: Wird dieser Schritt vergessen, sind die soeben getätigten Einstellungen beim nächsten Aufruf von PuTTY nicht mehr vorhanden. Speichern sie Einstellungen der Session regelmäßig vor dem Überprüfen / Öffnen der Sitzung ab.


Mit Klick auf "Open" (12) kann die Verbindung gestartet werden. Je nach Betreiber werden Sie zunächst aufgefordert der Sicherheit zuzustimmen.

06.PuTTY einrichten SSH Login.png

Abschließend wird aufgefordert Benutzername und das Passwort des SSH-Zugang einzugeben (13).

06.PuTTY einrichten SSH Login erfolgreich.png

Die Eingabe des SSH-Passworts wird nicht im Fenster angezeigt (14) und muss Blind eingegeben werden. Bestätigen Sie die Eingabe des Passworts zum Abschluss mit der ENTER-Taste.

Sind die Zugangsdaten korrekt eingegeben, würde bei einem klassichen SSH-Zugang nun eine Eingabemöglichkeit bestehen und man hätte vollständigen Zugriff auf den Onlineshop-Server im Internet. Durch die oben hinterlegten Einstellungen unterbinden wir die Möglichkeit Eingaben zu tätigen und vermeiden somit Fehler. Wird in dem Fenster der Cursor durchgehend Grün (15) angezeigt und schließt sich das Fenster nicht in den nächsten 10-30 Sekunden oder gibt eine Fehlermeldung aus ist die Einrichtung erfolgreich durchgeführt worden.

Solange das Fenster der Anwendung nicht geschlossen wird, ist es möglich eine Verbindung zur Datenbank des Shops über z.B. einen ODBC-Treiber für MySQL® Datenbanken oder einen ODBC-Treiber für MariaDB® Datenbanken einzurichten oder diese zu verwenden.


.

Socket-Verbindung mit PuTTY einrichten

Manche Betreiber verwenden statt TCP/IP sogenannte Sockets zur Kommunikation von Außen welche höhere Sicherheit und Verschlüsselung erlaubt. Hierfür muss in PuTTY im Bereich "Connection > SSH > Tunnels" bei Destination statt localhost:port nun zusätzlich noch der Socket-Aufruf hinzugefügt werden. Hierbei ist zu beachten, dass zwischen der Porteingabe und der Eingabe der Socketangabe ein Doppelpunkt zur Trennung angegeben werden muss.

Eingabe TCP Eingabe Socket-Verbindung
Schreibweise <IP>:<Port> <IP>:<Port>:<Socketangabe>
Beispiel localhost:3306 localhost:3306:/var/lib/mysql/mysql.sock

Die Angabe der Socket-Verbindung sowie des Ports kann bei jedem Betreiber und jedem Datenbanktyp (MariaDB, MySQL <= 5.6, MySQL >= 5.7) unterschiedlich sein. Die für ihren Server gültigen Eingaben erfragen Sie bei ihrem Hosting-Betreiber.

06.PuTTY einrichten SSH Sock.png

Klicken Sie hierfür in PuTTY in der linken Kategorie-Navigation auf den Menüpunkt "Connection" (1), dort auf den Unterpunkt "SSH" (2) und dort auf den Eintrag "Tunnels" (3). Geben Sie bei Sourceport den vom Betreiber genannten Port der Datenbank an (i.d.R. 3306 oder 5001) und bei Destination oben genannte Schreibweise der Socket-Verbindung gemäß der Angaben ihres Serverbetreibers (4). Klicken Sie auf die Schaltfläche "Add" um die Port-Angabe zu übernehmen und speichern Sie ihre Änderungen ab in dem Sie auf dem Menüpunkt "Session" in der linken Navigation klicken und dort die Schaltfläche "Save" betätigen.


.

Erstellen einer Startdatei zur Vereinfachung

Da zum Aufrufen und Verbinden des SSH-Zugangs stets Benutzername und Passwort zur Eingabe gefragt wird, kann dieser Schritt durch erstellen einer Batch-Stapelverarbeitungsdatei vereinfacht werden.

Öffnen Sie einen Texteditor und geben Sie folgenden Befehl in die leere Textdatei ein:

PuTTY.exe -load "Sessionname" -l "SSH-Benutzername" -pw "SSH-Passwort"

in unserem Beispiel sehe der Befehl z.B. wie folgt aus:

PuTTY.exe -load "Onlineshop" -l "ssh-benutzer-4711" -pw "mein#GeheimesPasswort!"

Klicken Sie im Text-Editor auf "Speichern unter", wählen Sie als Dateityp "Alle Dateien" aus und benennen Sie die Datei "sshzugang.bat". Speichern Sie die Datei ins selbe Verzeichnis ab in welchem die Anwendung "PuTTY.exe" liegt. Für Faktura-XP wäre dies das Unterverzeichnis Bin im Installationsverzeichnis ihrer Faktura-XP Installation (z.B. C:\Anwendungen\FakturaXP\Bin\)

Öffnen Sie diesen Ordner mit dem Dateimanager und Klicken Sie die Datei "sshzugang.bat" mit der Rechten Maustaste an. Wählen Sie aus dem Kontextmenü den Menüpunkt "Verknüpfung erstellen" und legen Sie die Verknüpfung auf ihrem Desktop ab.

Ist dies geschehen, kann der Tunnel bequem mittels Doppelklick auf die Verknüpfung gestartet werden. Sobald beide Fenster geschlossen werden ist die Verbindung wieder geschlossen.


.