Seit einiger Zeit unterstützen die Hostings bei peaknetworks den Zugang via SSH. Hier erklären wir Ihnen, was SSH ist, wie Sie auf Ihrem Computer SSH einrichten können und wie SSH verwendet wird um die Verwaltung Ihrer Webseite zu erleichtern.
Was ist SSH (Secure Shell Protocol)?
SSH ist ein verschlüsseltes Netzwerkprotokoll, welches Ihnen erlaubt, sich auf Server zu verbinden. Es gilt als de facto Standard für die Administration von UNIX und UNIX-ähnlichen Betriebssystemen. SSH ermöglicht es, Befehle direkt am Server auszuführen. Zusätzlich kann es, mittels SFTP und SCP, Dateien übertragen und verwalten. Alle Informationen, welche über SSH gesendet werden, sind verschlüsselt und können nicht von Außen eingesehen werden.
Wie verbinde ich mich mit meinem peaknetworks Hosting über SSH?
Sie können sich via der Kommandozeile (Shell) Ihres Computers mit SSH verbinden. Die Shell ist abhängig von Ihrem Betriebssystem (MacOS: zsh, Linux: bash, Windows 10/11: PowerShell). Sie können diese öffnen, indem Sie auf der Suchleiste Ihres Desktops "Terminal" eingeben und die Applikation öffnen.
Um auszuprobieren, ob SSH auf Ihrem Computer läuft, geben sie einfach folgendes in das Terminalfenster ein:
ssh
Wenn Sie anschließend folgenden Text sehen, wissen Sie, dass SSH auf Ihrem Computer klappt:
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address]
[-c cipher_spec] [-D [bind_address:]port] [-E log_file]
[-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file]
[-J destination] [-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-P tag] [-p port] [-Q query_option]
[-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
destination [command [argument ...]]
Voilà, sie haben den ersten Schritt gemeistert.
Generierung eines SSH-Schlüssel:
Für die Authentifizierung von SSH wird entweder ein Passwort, oder ein sogenannter SSH-Schlüssel benötigt. Da Passwörter oft mit Sicherheitsbedenken einhergehen, erlauben wir bei peaknetworks nur die Authentifizierung via Schlüssel. Dieser Schlüssel basiert auf einem asymmetrischen Kryptosystem. D.h. es wird ein Schlüsselpaar erstellt, das aus einem privaten Schlüssel (private Key) und einem öffentlichen Schlüssel (public Key). Der private Key muss sicher gespeichert werden und darf nicht an Dritte weitergegeben werden. Den public Key hingegen, können Sie z.B. auf externe Server hinterlegen, um sich dort ohne Passwort anzumelden.
Um das SSH Schlüsselpaar zu generieren, können Sie in Ihrem vorher geöffneten Terminalfenster folgenden Befehl eingeben:
ssh-keygen -t rsa
Dieser Befehl benötigt Ihre Interaktion. Zuerst wird gefragt, wohin Sie Ihren Schlüssel speichern wollen. Hier können Sie die Eingabetaste drücken, da dies das Standardverzeichnis ist, in welchem SSH nach den Schlüsseln sucht. Als Nächstes werden Sie gefragt, ob Sie den Schlüssel zusätzlich mit einem Passwort versehen wollen. Dies ist optional, wenn Sie kein Interesse daran haben, drücken Sie zweimal die Eingabetaste.
Wenn alles geklappt hat, können Sie Ihre Schlüssel im Verzeichnis .ssh/ ansehen. Dazu einfach folgenden Befehl ausführen:
ls ~/.ssh/
Dies listet ihnen alle Dateien in diesem Verzeichnis auf. Hier sollten nun zwei neue Dateien existieren: "id_rsa", Ihr neuer private Key und "id_rsa.pub", der public Key.
Hinzufügen des SSH-Keys zum peaknetworks Hosting
Bevor Sie sich jedoch mit Ihrem peaknetworks Hosting verbinden können, müssen Sie noch Ihren öffentlichen SSH Schlüssel im peaknetworks Controlpanel hinzufügen. Dazu melden Sie sich einfach mit Ihren Zugangsdaten an, klicken dann im linken Reiter auf "Hostings" [1], wählen Ihr Hosting aus[2] und gehen auf den Reiter "SSH" [3].
Hier finden Sie ganz unten die SSH Keys [4]. Im Feld "Key Name" vergeben Sie am besten einen einzigartigen Namen (z.B. der Name Ihres Laptops oder Computers). Im Textfeld nebenan, können Sie Ihren SSH public Key einfügen. Um diesen kopieren zu können, geben Sie folgenden Befehl in Ihrer Kommandozeile ein:
cat ~/.ssh/id_rsa.pub
Auf Ihrem Terminalfenster sollte nun ein Text gedruckt werden, welcher mit dem Text "ssh-rsa ..." beginnt, und mit einer E-Mail-Adresse aufhört. Diesen dann selektieren und kopieren (Windows: Strg+c, MacOS: Cmd+c, Linux: Strg+Shift+c) und anschließend in das Feld eintragen. Zu guter Letzt klicken Sie das "+"-Icon und Ihr SSH-Key wurde erfolgreich zum Hosting hinzugefügt.
IP-Addresse freischalten und PHP-Version auswählen:
Zusätzlich zum SSH-Schlüssel müssen Sie auch noch Ihre öffentliche IP-Adresse für SSH freischalten. Hierzu können Sie unser Tool "Wie ist meine IP-Adresse?" verwenden. Kopieren Sie einfach Ihre IP hier und fügen Sie diese in das IP-Feld hinzu [5].
Wenn Sie PHP in Ihrer SSH-Session verwenden wollen, geben wir Ihnen ebenfalls die Möglichkeit, wie bei Ihren Hostingapplikationen, eine PHP-Version auszuwählen [6]. Bitte beachten Sie hierbei, dass diese mit der PHP Version Ihrer Anwendung übereinstimmen sollte.
SSH Verbindung aufbauen:
Nachdem Sie Ihren Schlüssel hinzugefügt haben und die IP freigeschaltet worden ist, können Sie sich mit SSH verbinden. Dazu einfach den Befehl von den "SSH Login Details" in der Hostingeinstellungen kopieren und in Ihr Terminal einfügen. Nachdem Sie die Eingabetaste gedrückt haben, müssen Sie beim ersten Mal die Verbindung mit "yes" bestätigen und können nun loslegen.
Beispiel: Laravel Installation
Hier zeigen wir Ihnen ein Beispiel, wie Sie mittels SSH das Laravel Framework auf Ihrem Webhosting installieren können.
1. Installieren Sie den PHP Packet Manager "Composer":
mkdir ~/bin/ ; cd ~/bin/ ; wget https://getcomposer.org/download/latest-stable/composer.phar && chmod 0750 composer.phar
2. Erstellen einer Laravel-Applikation. Tauschen Sie hier das letze Argument "meinelaravel-app" mit dem Namen Ihrer Applikation aus
cd ~/web/; ~/bin/composer.phar create-project laravel/laravel meinelaravel-app
3. Wenn alles geklappt hat, sollten Sie nun auf Ihre Laravel-App zugreifen können: http://sXweb0YYY.peakserver.net/meinelaravel-app/public/
4. Nun können Sie im peaknetworks Controlpanel eine Datenbank erstellen und diese in die Laravel Enviroment eintragen. Dazu bearbeiten Sie die Datei
`~/web/meinelaravel-app/.env`