In diesem Abschnitt

Plesk: SSH-Zugriff

Der Artikel bietet eine detaillierte Anleitung zur Aktivierung und Nutzung des SSH-Zugangs über das Plesk Administrationstool. Er beschreibt, wie man sich einloggt, den SSH-Port 2121 verwendet und Befehle ausführt. Zudem listet er verfügbare Befehle und Tools wie Composer, PHP-Versionen und SSH-Keys auf. Der Artikel erklärt auch, wie man MySQL-Verbindungen korrekt einrichtet und gibt Hinweise zur Nutzung von WordPress CLI und Drupal. Auf Managed Servern ist SSH standardmässig deaktiviert und muss über den Support aktiviert werden.

  • Aktivierung
    Login / Verbindungsaufbau
    Verfügbare Befehle
    Weitere Hinweise

    Aktivierung

    1. Loggen Sie sich ins Plesk Administrationstool ein.

      Falls Sie das Plesk Admin-Passwort nicht mehr besitzen, beachten Sie bitte den Artikel: Passwort vergessen


    2. Über den Menüpunkt Websites & Domains können Sie unter Webhosting-Zugang den SSH-Zugang für den Systembenutzer freigeben:


    3. Wählen Sie nun /bin/bash (chrooted) bei Zugang zum Server via SSH:

    Login / Verbindungsaufbau

    Verwenden Sie nun als SSH-Port 2121:

    # ssh <benutzername>@<server> -p2121
    ihrbenutzer@server.host.ch's password:
    user@server />

    Alternativ können Sie mit einem SSH-Client wie z.B. PuTTYiTerm, MacOS Terminal o.ä. verbinden.

    Verfügbare Befehle

    Basis-Befehle awk, basename, cat, cd, chgrp, chmod, chown, cp, cut, date
    echo, env, expr, file, gawk, grep, hostname, less, ln, ls
    mkdir, more, mv, printenv, pwd, readlink, rm, sed, sleep
    sort, stat, stty, tail, timeout, touch, tput, tr, uname, uniq
    wc, which, xargs, zgrep, zless
    Netzwerk / Dateiübermittlung curl, rsync, scp, ssh, ssh-keygen, ssh-keyscan, wget
    Editor vi, vim, nano
    Komprimierung/Archivierung gunzip, gzip, tar, unzip, zip, bunzip2, bzip2
    Suche find, grep, diff
    Datenbank mysql, mysqldump
    Entwickler-Tools

    composer (Version 2), composer1 (Version 1), composer2 (Version 2)

    git, patch, wp (WP-CLI)

    PHP 7.4: /usr/bin/php bzw. php

    PHP 7.3: /opt/php73/bin/php
    PHP 8.0: /opt/php80/bin/php
    PHP 8.1: /opt/php81/bin/php
    PHP 8.2: /opt/php82/bin/php

    Weitere Hinweise

    Hier finden Sie zusätzliche Hinweise über den SSH-Zugriff.

    MySQL
    Composer
    SSH
    WordPress CLI / Drupal (drush / Drupal Console)
    PHP
    Kundenbeiträge
    Managed Server

     

    MySQL

    Verbindungsaufbau

    Die Verbindung zum Datenbank-Server muss zwingend über 127.0.0.1 erfolgen.

    Hierfür muss an erster Stelle in Plesk der Zugriff von 127.0.0.1 erlaubt werden. Klicken Sie hierzu in Plesk unter "Datenbanken > Benutzerverwaltung" auf den entsprechenden Benutzer und aktivieren Sie dann unter "Zugriffssteuerung" die Option "Remoteverbindungen zulassen von" und tragen Sie im darunterliegenden Feld 127.0.0.1 ein.

    Danach können Sie via Shell wie folgt verbinden.

    Beispiel:

    user@server /> mysql -h 127.0.0.1 -u <Datenbankbenutzer> -p <Datenbank> 

    Composer

    composer ist in Version 1.x und 2.x global installiert und kann wie folgt aufgerufen werden:

    $ composer
    $ composer1
    $ composer2

    Beispiel

    $ composer create-project -s dev typo3/flow-base-distribution testprojekt
    Installing typo3/flow-base-distribution (dev-master 855c48407039a5917e4e4e35c92b841b99ab8b84)
    - Installing typo3/flow-base-distribution (dev-master master)
    Cloning master

    Created project in testprojekt
    Loading composer repositories with package information
    Installing dependencies (including require-dev)
    - Installing composer/installers (v1.0.13)
    Loading from cache [..]

    Beispiel Composer Update mit verschiedenen PHP Versionen und erhöhtem memory_limit

    /opt/php73/bin/php -d memory_limit=2048M /bin/composer update
    /opt/php74/bin/php -d memory_limit=2048M /bin/composer update
    /opt/php80/bin/php -d memory_limit=2048M /bin/composer update
    /opt/php81/bin/php -d memory_limit=2048M /bin/composer update
    /opt/php82/bin/php -d memory_limit=2048M /bin/composer update

    SSH

    Eigener SSH-Key hinterlegen

    Um ohne Passwort zu verbinden, können Sie jederzeit Ihren Public SSH-Key auf dem Server hinterlegen. Erstellen Sie hierzu ein Verzeichnis ".ssh" auf Root-Ebene (/) und legen Sie den Key in der Datei authorized_keys ab:

    user@server /> mkdir ~/.ssh && chmod 700 ~/.ssh 
    user@server /.ssh> cd .ssh
    user@server /.ssh> vi authorized_keys
    user@server /.ssh> chmod 600 authorized_keys
    sudo

    Der sudo-Befehl wird nicht benötigt, da PHP direkt mit dem eigenen Systembenutzer ausgeführt wird.

    Als Beispiel, in der Anleitung Ihres CMS stehen die folgenden Befehle:

    # sudo -u www.data php occ maintenance:mode —on
    # sudo -u www.data php occ db:add-missing-indices
    # sudo -u www.data php occ db:convert-filecache-bigint
    # sudo -u www.data php occ maintenance:mode —off

    Diese können Sie wie folgt über die Shell ausführen:

    php occ maintenance:mode —on
    php occ db:add-missing-indices
    php occ db:convert-filecache-bigint
    php occ maintenance:mode —off

    WordPress CLI / Drupal (drush / Drupal Console)

    Keine Datenbankverbindung möglich

    Bei Ausführung von wp Commands wird folgender Fehler ausgegeben:

    Error: Error establishing a database connection

    bzw. bei drush:

     * connect the database through a socket. The socket file may be
    wrong or the php-cli may have no access to it in a jailed shell.

    Standardmäßig hinterlegt die Applikation "localhost" als Datenbank-Host. Da die Shell-Umgebung mit TCP arbeitet, kann darauf nicht via Socket zugegriffen werden. Somit ist eine Anpassung in der Konfig-Datei erforderlich. Sie können entweder "localhost:3306" auf "127.0.0.1:3306" ändern oder die Konfig dynamisch gestalten.

    Beispiel WordPress (wp-config.php):

    /** Tell WP-CLI to use TCP instead of socket connection */
    if ( defined( 'WP_CLI' ) && WP_CLI ) {

    /** MySQL hostname for WP-CLI */
    define('DB_HOST', '127.0.0.1:3306');

    } else {

    /** MySQL hostname */
    define('DB_HOST', 'localhost:3306'); }

    PHP

    PHP Version ändern

    Standardmäßig wird PHP 7.4 beim Ausführen des Befehls "php" verwendet. Sie haben jedoch die Möglichkeit, dies mit einem Alias nach Ihren Bedürfnissen anzupassen.

    Beispiel PHP 8.0:

    alias php='/opt/php80/bin/php' 
    echo "alias php='/opt/php80/bin/php'" >> ~/.bash_profile

    export PATH=/opt/php80/bin:$PATH
    echo "export PATH=/opt/php80/bin:\$PATH" >> ~/.bash_profile

    Kundenbeiträge

    Automatisierte Deployments

    Managed Server

    Auf Managed Servern ist SSH per Default von außen nicht verfügbar. Bitte melden Sie sich beim Support, um SSH freizuschalten.