- Bestellen
- Providerwechsel
- Rechnung & Vertrag
- Service & Infos
- Domains
- Homepage-Baukasten
- Webhosting & ManagedServer
- 64 Bit
- Neue 64-Bit-Tarife bei DomainFactory
- Unterschiede im Shared-Hosting (ManagedHosting- und ResellerHosting-Tarife)
- Unterschiede bei dedizierten Servern (ManagedServer- und ResellerDedicated-Tarife)
- Unterschiede bei vorhandenen Diensten
- Unterschiede bei den verfügbaren Skriptsprachen
- Technische Fragen zu 64 Bit
- CloudServer
- SSL-Zertifikate
- Cloud Backup
- Microsoft 365
- Reseller
- Sucuri Website Security
- Managed Wordpress
- Aktuelles
SSH
Alle ausklappen
Alle einklappen
Was ist SSH und wozu wird es benötigt?
Mittels Secure Shell (SSH) können Sie eine sichere Verbindung zwischen Ihrem PC und dem Rechner, auf dem Ihre Webseite liegt, herstellen. Webmaster können so auf die Shell des Webservers zugreifen und dort Kommandos ausführen. Neben der Übermittlung von Benutzerdaten erfolgt dabei auch die Datenübertragung verschlüsselt.
Einige Anwendungsbeispiele für SSH:
- Aufbau einer sicheren Verbindung zum Server und sichere Übertragung von Dateien
- Editieren von Dateien direkt auf dem Server
- Datensicherung z.B. Erstellen und Einspielen von Datenbankdumps
- Zugriff auf Ihre MySQL-Datenbank bei DomainFactory über ein externes Datenbanktool
- Setzen von Dateirechten
In welchen Paketen kann ich SSH nutzen?
SSH kann ab den ManagedHosting-Paketen genutzt werden. Ob Sie SSH in Ihrem Paket nutzen können, entnehmen Sie bitte der jeweiligen Leistungsbeschreibung.
Wie kann ich per SSH auf meinen Account bei DomainFactory zugreifen?
Um sich per SSH mit Ihrem Account bei DomainFactory zu verbinden, benötigen Sie Ihre SSH-Zugangsdaten und ein SSH-Programm. Informationen zu diesen beiden Punkten erhalten Sie in den Fragen weiter unten auf dieser Seite.
Das folgende Beispiel beschreibt, wie Sie eine SSH-Verbindung mit dem Programm PuTTY herstellen. Die Handhabung ist jedoch bei anderen SSH-Programmen ähnlich.
- Starten Sie das SSH-Programm und geben Sie Ihren Domainnamen in das Feld "Host Name (or IP address)" ein:
- Achten Sie bitte darauf, dass als "Connection type" "SSH" gewählt ist. Der Port wird daraufhin automatisch auf 22 angepasst.
- Wechseln Sie anschließend in den Bereich "SSH". Unter "Preferred SSH protocol version" muss die Version 2 ausgewählt sein:
- Wechseln Sie dann wieder zurück in den Bereich "Sessions". Dort können Sie jetzt unter "Saved Sessions" einen Namen für die Verbindung vergeben und die Einstellungen mit einem Klick auf "Save" für die nächste SSH-Sitzung speichern.
- Klicken Sie auf "Open", um die SSH-Verbindung zu starten.
- Wenn Sie die Verbindung zum ersten Mal aufbauen, erhalten Sie eine Warnung, die Sie darüber informiert, dass der Server Ihrem SSH-Programm noch nicht bekannt ist. Außerdem wird Ihnen der zum Server gehörige Fingerprint angezeigt. Um sicher zu gehen, dass die Verbindung mit dem richtigen Server aufgebaut wird, vergleichen Sie diesen Fingerprint bitte mit dem Fingerprint, der Ihnen im Kundenmenü angezeigt wird (Siehe "Wie lauten die SSH-Fingerprints für meinen Account?").
- In einer Konsole werden Sie dann nach den Login-Daten gefragt. Tragen Sie hier bitte den Login Ihres SSH-Kontos und das Passwort ein:
Jetzt sind Sie über SSH mit Ihrem Account bei DomainFactory verbunden.
Wo finde ich meine SSH-Zugangsdaten?
Ihre SSH-Zugangsdaten finden Sie im Kundenmenü, wenn Sie den jeweiligen Auftrag wählen und in der linken Navigation bei "Webspace" auf "SSH-Accounts" klicken.
Sollte noch kein SSH-Zugang eingerichtet sein, können Sie dort über den Link "Login einrichten" einen SSH-Zugang erstellen.
Wo finde ich einen SSH-Client?
Um SSH nutzen zu können, benötigen Sie ein SSH-Programm. Dieses ist bei einigen Betriebssystemen schon integriert. Windows enthält aber z.B. standardmäßig kein SSH-Programm. Im Internet finden Sie jedoch eine gute Auswahl an kostenlosen SSH-Programmen.
Damit Sie alle wichtigen Anwendungen von SSH nutzen können, sollte das Programm die folgenden Protokolle unterstützen:
- SSH, um auf Shellebene auf einen Server zugreifen zu können,
- SCP oder SFTP (SSH File Transfer Protocol), um Dateien zwischen dem Server und Ihrem PC kopieren zu können.
Die bekanntesten SSH-Programme sind PuTTY (für Windows und Unix), WinSCP (für Windows) sowie OpenSSH für verschiedene andere Betriebssysteme wie z.B. Linux und Mac OS X.
Wie lauten die SSH-Fingerprints für meinen Account?
Wie kann ich per SSH extern auf meine MySQL-Datenbank zugreifen?
Wenn in Ihrem Webhosting-Paket ein SSH-Zugang enthalten ist, können Sie über einen SSH-Tunnel extern auf Ihre Datenbank zugreifen. Bei Einrichtung eines SSH-Tunnels werden TCP/IP-Verbindungen, die lokal auf Ihrem Rechner auf localhost:<port> zugreifen, über eine verschlüsselte Verbindung auf einen vorab zugewiesenen Port des Servers weitergeleitet. Die Daten der Verbindung werden dabei geschützt übertragen.
Bitte beachten Sie: Ein SSH-Tunnel ist nicht dazu gedacht, ständig eine Verbindung aufrecht zu erhalten, sondern in erster Linie dazu, kurz einige Tests auszuführen oder Daten in die MySQL-Datenbank zu schreiben.
So richten Sie einen SSH-Tunnel ein:
Richten Sie zunächst eine SSH-Verbindung ein. Im folgenden Beispiel nutzen wir hierfür das SSH-Programm PuTTY:
- Starten Sie das SSH-Programm und geben Sie Ihren Domainnamen in das Feld "Host Name (or IP address)" ein.
- Achten Sie bitte darauf, dass als "Connection type" "SSH" gewählt ist. Der Port wird daraufhin automatisch auf 22 angepasst.
- Wechseln Sie anschließend zu "Connection", "SSH". Unter "Preferred SSH protocol version" muss hier die Version 2 ausgewählt sein.
Jetzt können Sie den SSH-Tunnel einrichten:
- Wechseln Sie zu "Connection", "SSH", "Tunnels".
- Geben Sie hier die folgenden Informationen an:
- Source port: 3306
Bitte beachten Sie: Falls bereits eine Anwendung den lokalen TCP/IP-Port 3306 belegt, müssen Sie einen anderen Port für den Tunnel wählen. - Destination: Geben Sie abhängig von der Version der Datenbank, zu der Sie eine Verbindung aufbauen möchten, Folgendes an – bitte ersetzen Sie dabei ihre-domain.tld durch Ihren Domainnamen:
- MySQL Version 5: mysql5.ihre-domain.tld:3306
- Klicken Sie dann auf "Add".
- Unter "Session" können Sie jetzt im Feld "Saved Sessions" einen neuen Namen für den SSH-Tunnel vergeben und die Einstellungen mit einem Klick auf "Save" speichern.
- Klicken Sie auf "Open", um den SSH-Tunnel aufzubauen. Falls Sie mit dem SSH-Programm zum ersten Mal eine Verbindung zu Ihrem Webspace aufbauen, erhalten Sie eine Warnung, die Sie darüber informiert, dass der Server Ihrem SSH-Programm noch nicht bekannt ist. Klicken Sie auf "Ja". Das SSH-Programm merkt sich daraufhin den Server, so dass der Dialog bei künftigen Verbindungen nicht mehr erscheint.
- Loggen Sie sich mit Ihren SSH-Zugangsdaten ein. Die SSH-Zugangsdaten finden Sie im Kundenmenü unter dem Menüpunkt "SSH-Konfiguration".
Jetzt ist der SSH-Tunnel aufgebaut. Solange PuTTY geöffnet ist, ist der SSH-Tunnel aktiv.
- Sie können nun mit einer Datenbanksoftware über den Hostnamen "localhost" und den Port "3306" auf Ihre MySQL-Datenbank bei DomainFactory zugreifen. Für die Datenbank-Software benötigen Sie außerdem die Logindaten der jeweiligen MySQL-Datenbank. Diese finden Sie unter dem Menüpunkt "MySQL-Datenbanken" im Kundenmenü.
SSH-Tunnel mit einem auf UNIX basierenden Betriebssystem einrichten
- Bei Betriebssystemen, die auf UNIX basieren, ist meistens schon ein SSH-Programm installiert. Hier können Sie einen SSH-Tunnel – abhängig von der Datenbank-Version – über den folgenden Befehl aufbauen:
- MySQL Version 5: ssh -l username -L 3306:127.0.0.3:3306 www.ihre-domain.tld
Bitte ersetzen Sie dabei "username" durch den Login Ihres SSH-Accounts und "ihre-domain.tld" durch Ihren Domainnamen.
Bei unseren neuen 64-Bit-Tarifen erfolgt der Zugriff nicht mehr via TCP sondern via Socket. Es müsste zunächst in einem Terminal-Fenster der Tunnel aufgebaut werden:
ssh -TNL 5001:/var/lib/mysql/mysql.sock IhrSSHUser@IhreDomain.tld
In einem zweiten Terminal-Fenster können Sie die Datenbank wie gewohnt aufrufen:
mysql -h127.0.0.1 -P5001 -u dbuser -p datenbank
Bitte beachten Sie:
Je nach verwendetem SSH-Programm können die Parameter abweichen. Informationen über die Parameter erhalten Sie über den Befehl "ssh --help".
Wozu dient das Deaktivieren eines SSH-Accounts?
Beim Editieren eines SSH-Accounts können Sie im Auswahlfeld "Shell" die Option "deaktivieren" wählen. Mit dieser Einstellung ist kein Zugriff über den SSH-Account mehr möglich. Wenn Sie den SSH-Zugang beispielsweise nur selten nutzen, können Sie ihn so zwischenzeitlich sperren.
Beim Login in SSH erhalte ich die Fehlermeldung "SSH protocol version 1 required by user but not provided by server". Warum?
Diese Fehlermeldung erhalten Sie, wenn Sie versuchen, über die Version 1 des SSH-Protokolls eine SSH-Verbindung herzustellen.
Was ist SSH-1
Bei SSH-1 handelt es sich um die erste und ältere Version des SSH-Protokolls. Sie verfügt über potentielle Sicherheitsrisiken. Deshalb ist es empfehlenswert, die Version 2 des SSH-Protokolls zu verwenden.
Bei DomainFactory ist der Login per SSH nur über die Version 2 des SSH-Protokolls möglich.
Bitte prüfen Sie deshalb die folgenden Punkte, wenn Sie die oben genannte Fehlermeldung erhalten:
- Unterstützt Ihr SSH-Programm SSH-2?
Bitte aktualisieren Sie das Programm gegebenenfalls. Die meisten aktuellen SSH-Programme unterstützen SSH-2 – z.B. die aktuellen Programmversionen von PuTTY und WinSCP. - Ist SSH-2 in den Einstellungen für die SSH-Verbindung hinterlegt?
Für die Verbindung darf SSH-1 nicht erzwungen werden.
Eine Anleitung am Beispiel PuTTY:
- Laden Sie die Einstellungen der SSH-Sitzung.
- Wechseln Sie dann zu "Connection", "SSH".
- Hier muss bei "Preferred SSH protocol version" der Wert "2" ausgewählt sein. Ist hier "1" oder "nur 1" ausgewählt, ändern Sie den Wert bitte auf "2". Gehen Sie dann zurück auf "Session" und speichern Sie die Änderungen mit einem Klick auf "Save".
- Nach dem Wechsel der Protokoll-Version wird Ihnen beim ersten Verbindungsaufbau in vielen Fällen ein Hinweis mit dem zum Server gehörenden Fingerprint angezeigt. Um sicher zu gehen, dass die Verbindung mit dem richtigen Server aufgebaut wird, können Sie die Richtigkeit des Fingerprints im Kundenmenü überprüfen. Sie finden den Fingerprint im Kundenmenü unter dem Menüpunkt "SSH-Konfiguration".
- Laden Sie die Einstellungen der SSH-Sitzung.
Wie kann ich SSH-Befehle nutzen, wenn ich kein SSH habe?
Falls Ihr Paket kein SSH unterstützt, können Sie die Anwendung PHP-Shell nutzen, um SSH-Befehle für Ihren Account bei DomainFactory auszuführen. Bitte beachten Sie, dass die Datenübertragung hierbei nicht verschlüsselt erfolgt.
So installieren Sie PHP-Shell:
- Laden Sie die aktuelle Version von PHP-Shell unter http://phpshell.sourceforge.net herunter und entpacken Sie das Archiv.
- Laden Sie die Dateien per FTP auf Ihren Webspace und rufen Sie die Datei pwhash.php in Ihrem Internet-Browser auf. Wählen Sie dann einen Benutzernamen und ein Passwort.
- Die angezeigte Ergebniszeile fügen Sie nun mit einem Texteditor in die config.php im Bereich [users] ein. Speichern Sie diese Datei und laden Sie sie per FTP auf den Server. Im unten genannten Beispiel ist der Benutzername "admin", die anschließende Zeichenkette stellt das Passwort verschlüsselt dar. Bitte wählen Sie in jedem Fall ein sicheres Passwort!
- Rufen Sie dann bitte die Datei phpshell.php auf und loggen Sie sich mit der zuvor gewählten Benutzername/Passwort-Kombination ein. Hier können Sie jetzt wie bei einer echten SSH-Sitzung Konsolenbefehle eingeben.
Eine nützliche Erweiterung
Über PHP-Shell können einige SSH-Programme wie z.B. "vi" nicht genutzt werden. Als Ersatz für "vi" gibt es eine Erweiterung von Tobias Unger, die einen einfachen Texteditor in PHP-Shell integriert. Diesen Editor können Sie unter http://tobias-unger.de/download/ herunterladen. Ersetzen Sie anschließend einfach die Datei phpshell.php mit der Datei phpshell.php von Tobias Unger. Aufrufen können Sie den Editor dann über den Befehl "editor <dateiname>".
Zu Ihrer Sicherheit: .htaccess-Passwortschutz
Zusätzlich empfehlen wir Ihnen, das Verzeichnis, in dem Sie PHP-Shell installiert haben, mit einem .htaccess-Passwortschutz zu versehen. Hierzu können Sie z.B. den htaccess-Generator von unserer Download-Seite nutzen. Nähere Informationen zum .htaccess-Passwortschutz erhalten Sie auch auf der Seite "FAQ - .htaccess".
Wie kann ich für den SSH-Login einen Public-/Private-Key nutzen?
SSH unterstützt neben der klassischen Authentifizierung mittels Benutzernamen/Kennwort auch andere Authentifizierungsmechanismen. Folgend wird die Einrichtung und Verwendung einer Authentifizierung beschrieben, die auf einem Schlüsselpaar (Private-/Public-Key) basiert. Im Vergleich zur Passwort-Authentifizierung bietet dies die Möglichkeit zu einem automatisierter Login, ohne Hinterlegung eines Kennworts.
Erzeugung eines Schlüsselpaars
Sofern Sie noch über kein eigenes Schlüsselpaar verfügen, kann dieses wie folgt ganz einfach über die Shell erzeugt werden. Bitte loggen Sie sich dafür per SSH z.B. auf Ihren Server ein und geben Sie folgenden Befehl ein:
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/[serverpfad]/.ssh/id_rsa): <-- Enter drücken
Enter passphrase (empty for no passphrase): <-- Passwort eingeben, mit dem der private Schlüssel geschützt werden soll
Enter same passphrase again: <-- Passwort wiederholen
Your identification has been saved in /[serverpfad].ssh/id_rsa.
Your public key has been saved in /[serverpfad]/.ssh/id_rsa.pub.
The key fingerprint is:
ef:a1:14:3b:ce:6d:af:b2:5f:66:10:35:70:ee:4e:db u*****@*****.ispgateway.de
(*) Alternativ kann z.B. auch unter Windows das Tool puttygen.exe verwendet werden.
Nun wurden zwei Schlüssel im Unterordner ".ssh" erzeugt. Dabei beinhaltet die Datei "id_rsa" den privaten und "id_rsa.pub" den öffentlichen Schlüssel.
Der private Schlüssel sollte nun von dem Server heruntergeladen werden (z.B. per SCP) und an einem sicheren Ort auf der eigenen Festplatte abgelegt werden. Löschen Sie anschließend den privaten Schlüssel auf dem Server. Der private Schlüssel sollte aus Sicherheitsgründen nicht auf dem Server liegen!
Bitte achten Sie darauf, dass der Schlüssel gut gesichert werden sollte, da er nicht ersetzbar ist und neu erzeugt werden muss, sofern er gelöscht wird oder verloren geht.
Public-Key für Login hinterlegen
Damit zukünftig ein Login über Ihren privaten Schlüssel möglich ist, ist es erforderlich, den öffentlichen Schlüssel in Ihrem Home-Verzeichnis im Unterordner ".ssh" in der Datei "authorized_keys" zu hinterlegen. Dabei ist es möglich, mehrere öffentliche Schlüssel in dieser Datei zu hinterlegen, um mehreren Nutzern den Zugriff auf diesen Benutzer per SSH zu ermöglichen.
Sollte der Ordner ".ssh" noch nicht existieren, kann er wie folgt angelegt werden:
cd ~
mkdir .ssh
Anschließend müssen Sie in den Ordner ".ssh" wechseln und Ihren öffentlichen Schlüssel in der Datei "authorized_keys" ablegen. Sollten Sie aus dem vorherigen Abschnitt sich einen neuen Schlüssel angelegt haben, so wurde der ".ssh"-Ordner bereits für Sie erstellt und der öffentliche Schlüssel befindet sich in der Datei "id_rsa.pub". In diesem Fall ist nur noch eine Umbenennung notwendig:
mv id_rsa.pub authorized_keys
Nun müssen noch die Rechte angepasst werden:
chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/*
Jetzt sollten Sie testen, ob ein Login mit Ihrem Private-Key möglich ist. Funktioniert er nicht, ist in einem der vorherigen Schritte ein Fehler unterlaufen.
Login mit PuTTY
Im kostenfreien SSH-Client "PuTTY" kann vor dem Verbindungsversuch ein privater Schlüssel ausgewählt werden. Bitte wählen Sie hierfür unter "Connection", "SSH", "Auth" Ihren privaten Schlüssel aus. Anschließend können Sie wie gewohnt die Verbindung herstellen.
Eine Übersicht über die wichtigsten SSH-Kommandos
Per SSH bzw. PHP-Shell können Sie direkt auf der Kommandozeile des Linux-Servers Ihres DomainFactory Accounts arbeiten – vergleichbar mit der Eingabeaufforderung eines Windows-PCs.
Bitte beachten Sie:
Die Shell ist ein sehr mächtiges Werkzeug. Mit einem kleinen Tippfehler können Sie großen Schaden anrichten und z.B. Ihre kompletten Daten unwiederbringlich löschen. Sie sollten also sehr vorsichtig bei der Verwendung der Befehle sein! Zu viel Angst müssen Sie aber nicht haben: Auf kritische Systembereiche des Servers und Daten anderer Kunden können Sie natürlich nicht zugreifen.
Übersicht über die wichtigsten SSH-Kommandos:
- cp – kopiert eine Datei A von Ort B an Ort C
Beispiel: cp ./B/A.php ./C/A.php - mv – verschiebt eine Datei bzw. benennt diese um
Beispiele: mv vorher.txt nachher.txt
mv vorher.txt ../ordner/nachher.txt - rm – löscht eine Datei
Beispiel: rm datei.php - cd – wechselt das Verzeichnis
Beispiel: cd ../ordner - mkdir – erstellt ein Verzeichnis
Beispiel: mkdir ordner - find – sucht eine Datei
Beispiel: find . | grep name - ls – gibt den Verzeichnisinhalt aus
Beispiel: ls -la - chmod – ändert die Zugriffsrechte
Beispiel: chmod 765 datei.pl - touch – legt eine neue leere Datei an
Beispiel: touch datei.php - tar -xfzv – entpackt .tar(.gz)-Dateien
Beispiel: tar -xfzv archiv.tar.gz - unzip – entpackt .zip-Dateien
Beispiel: unzip archiv.zip - tar -cvzf – packt die Dateien eines Ordners in ein Archiv
Beispiel: tar -cvzf archiv.tar.gz /kunden/ordner