Quelles commandes puis-je utiliser avec SSH (chrooted) ?

L'accès SSH est activé automatiquement pour les offres d'hébergement web "Standard" et "Business".

En tant que revendeur, vous pouvez activer l'accès SSH pour vos clients en suivant les instructions suivantes :
→ FAQ : Comment puis-je activer l'accès SSH pour mes clients dans Plesk (Revendeur) ?

 

1. Login / Établissement de la connexion

  • Veuillez utiliser le port 2121 avec une connexion de type SSH et l'utilisateur FTP principal :
# ssh utilisateur-ftp@votreserveur -p2121
utilisateur@serveur.host.ch's password:
utilisateur@serveur />

 

  • Une alternative pour la connexion est d'utiliser un client SSH tel que PuTTYSecureCRT ou autre.
  • L'utilisateur FTP principal est indiqué par une icône dans Plesk :

 

Veuillez saisir votre nom de domaine pour voir le nom du serveur et d'autres informations :

 

 

2. Commandes disponibles

  • Les commandes suivantes peuvent être exécutées avec l'environnement SSH limité (chrooted)

    Commandes de base 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
    Réseau / Transfert de données curl, rsync, scp, ssh, ssh-keygen, ssh-keyscan, wget
    Editeurs vi, vim, nano
    Compression / Décompression gunzip, gzip, tar, unzip, zip, bunzip2, bzip2
    Recherche find, grep, diff
    Base de données mysql, mysqldump
    Outils de développement

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

    git, patch, wp (WP-CLI)

     

    PHP 7.4: /usr/bin/php bzw. php
    PHP 8.0: /opt/php80/bin/php
    PHP 8.1: /opt/php81/bin/php
    PHP 8.2: /opt/php82/bin/php

 

2. Notes supplémentaires

Établissement de la connexion MySQL

Remarque :

La connexion au serveur de base de données se fait impérativement avec 127.0.0.1

 

  • Pour cela, il faut tout d'abord activer dans Plesk l'accès au localhost et à 127.0.0.1
    Dans Plesk, cliquer sur "Bases de données", "Gestion des utilisateurs" puis sur le nom de l'utilisateur concerné. Cocher ensuite l'option "Autoriser les connexions à distance depuis" puis saisissez dans la zone de texte sur deux lignes différentes : localhost et 127.0.0.1

 

  • Exemple de connexion :
user@server />  mysql -h 127.0.0.1 -u<BENUTZER> -p<PASSWORT> <DBNAME>

 

Composer

  • Composer est installé globalement et peut être exécuté de cette façon :
$ composer

 

  • Exemple de création d'un projet :
$ composer create-project -s dev typo3/flow-base-distribution testprojekt

 

Déposer sa propre clé SSH

  • Afin de se connecter sans devoir saisir un mot de passe, vous pouvez à tout moment déposer votre clé SSH public sur le serveur. Pour cela, veuillez créer un dossier nommé ".ssh" au niveau de la racine  (/) et déposer ici la clé dans le fichier authorized_keys :
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
La clé SSH public doit être ajoutée sur une seule ligne dans le fichier authorized_keys.
Les fichiers id_rsa et id_rsa.pub du serveur n'ont aucune influence sur le login depuis l'extérieur et ne doivent pas être modifiés.

 

WordPress CLI / Drupal (drush / Drupal Console)

  • En exécutant les commandes "wp" apparaît l'erreur suivante :
Error: Error establishing a database connection

 

  • Par exemple avec 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.

 

  • Par défaut, la valeur "localhost" est inscrite dans l'application. Comme l'environnement Shell fonctionne avec TCP, il n'est pas possible d'y accéder avec un Socket. Il faut donc effectuer une modification dans la configuration. Vous pouvez modifier "localhost:3306" sur "127.0.0.1:3306" ou changer la configuration de façon dynamique.

 

  • Exemple 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'); }

 

Changer la version PHP

  • Par défaut, la version PHP 7.2 est utilisée lors de l'utilisation de la commande "php". Vous avez cependant la possibilité de créer un alias vous permettant d'adapter la commande à vos besoin.

 

  • Exemple avec PHP 7.4 :
alias php='/opt/php74/bin/php' 
echo "alias php='/opt/php74/bin/php'" >> /.bash_profile

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