Accès SSH
Accès SSH
Introduction
SSH est un protocole sécurisé pour se connecter et échanger des fichiers avec serveur. A la différence de FTP, les communications sont chiffrées. Il est donc vivement conseillé de l'utiliser.
L'accès SSH est conseillé aux utilisateurs avertis.
Attention en particulier aux permissions appliquées sur les fichiers & dossiers, vous pouvez bloquer votre hébergement si celles-ci sont trop laxistes ou trop restrictives !
Emplacement des fichiers
Les chemins complets de vos fichiers sont affichés sur la page Fichiers & Accès:
Comment créer un compte SSH?
- Connectez-vous au manager (Comment se connecter au Manager ?).
- Cliquez sur Services puis sur l'hébergement sur lequel vous voulez ajouter le compte SSH.
- Allez dans Fichiers & accès à gauche puis dans Utilisateurs SSH en dessous.
- Une liste des utilisateurs SSH configurés sur votre site s'affiche. Ajoutez-en un en cliquant sur Ajouter un utilisateur SSH.
Seul un mot de passe vous sera demandé, le nom de l'utilisateur vous étant imposé et correspondant à l'identifiant de votre hébergement.
Contrairement à FTP, il n'est pas non plus possible de préciser une restriction d'accès, l'utilisateur SSH a donc toujours accès à l'ensemble de vos fichiers !
Soyez donc vigilant concernant le choix et la diffusion de votre mot de passe SSH.
Ouvrir une session SSH en ligne de commande
L'objectif historique de SSH est d'ouvrir une session directement sur le serveur.
Vous allez avoir besoin pour ce faire d'un client SSH tel que Putty ou la commande ssh sous Linux et Mac.
Une fois Putty (ou un autre client) lancé, vous allez devoir indique un nom d'hôte et un port:
Le nom d'hôte est ssh1.yulpa.io.
Le port est 22 (port par défaut)
Le nom d'utilisateur est celui affiché sur le manager (xxxxxxxx-yulpa)
Le mot de passe est celui saisi lors de la création de l'utilisateur SSH
Vous arrivez alors sur une invite de commande avec un shell.
L'environnement disponible via SSH est différent de celui des serveurs web où s'exécutent vos sites.
Il est donc possible que certaines commandes existent en SSH mais ne soient pas disponibles depuis votre site (via un script PHP/CGI).
Vous pouvez utiliser une session SSH pour vous connecter directement au serveur MySQL et ainsi importer / exporter directement vos bases.
Parcourir vos fichiers avec SCP
Il est possible d'utiliser le protocole SCP, s'appuyant sur SSH, pour envoyer et récupérer des fichiers avec des client SCP tel que Filezilla.
Une fois votre client SCP lancé, vous allez devoir renseigner les mêmes informations que pour une ouverture de session SSH (voir ci-dessus).
Vous arriverez alors dans le répertoire personnel de votre utilisateur SSH, naviguez ensuite jusqu'au répertoire où est stocké votre hébergement (sous la forme /datas/volX/w4aXXXXXX - XXXXXX est l'identifiant de votre hébergement).
Authentification par clé SSH
Il est également possible de s'authentifier sur SSH par clé privée / clé publique.
Génération de la clé
Pour commencer, il est nécessaire de générer les deux fichiers (clés privée + publique) en ligne de commande à l'aide de ssh-keygen (Linux, Mac) ou de PuttyGen (Windows).
Linux,Mac
Windows
Executer PuttyGen.
Vérifier que les paramètres sont SSH-2 RSA et que le champ 'Number of bits in a generated key' contient au moins 1024.
Cliquer sur "Generate" et bouger le curseur de la souris afin de générer la clé.
Installation de la clé
Sur votre hébergement, créer le répertoire .ssh dans votre dossier personnel (~), et lui assigner les droits 700 (rwx------).
Commande
mkdir ~/.ssh && chmod 700 ~/.ssh
Ajouter votre clé publique dans le fichier ~/.ssh/authorized_keys et lui donner les droits 700.
Commande
cat <<EOF >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh/authorized_keys
Copier votre clé publique puis collez la dans la console ssh. (clic droit sur certains clients). Appuyez ensuite sur la touche entrée.
Terminez par la commande :
Commande
EOF
Utilisation de PHP
Pour exécuter un script PHP (representé par un fichier PHP) en ligne de commande, utilisez l'une des cinq commandes suivantes suivi du nom du fichier :
php, un alias de php55
php52 : PHP 5.2.17
php53 : PHP 5.3.28
php54 : PHP 5.4.29
php55 : PHP 5.5.13
Par exemple, pour exécuter le fichier "test.php" avec PHP 5.4, la commande sera:
php54 test.php
Personnalisation du php.ini
Contrairement à la partie HTTP, il est possible de personnaliser le fichier php.ini lors de l'utilisation de PHP via SSH. Il est important de noter que cette personnalisation s'applique uniquement à SSH.
Pour commencer, recopier le fichier php.ini de la version de votre choix, ici la 5.5:
cp /opt/alt/php55/etc/php.ini ~/php.ini
Remplacer 55 par la version de votre choix (52,53,54,55).
Editer ensuite le fichier à l'aide des commandes nano ou vim :
nano ~/php.ini
# OU
vim ~/php.ini
Par exemple, pour activer une extension PHP, descendez dans la section "Dynamic Extensions" et ajoutez à la suite de extension=intl.so vos extensions :
; Enable intl extension module
extension=intl.so ; Cette ligne existait déjà
extension=pdo.so
extension=mysql.so
(j'active ici les extensions PDO et MySQL)
Définissez ensuite la variable d'environnement PHPRC à l'emplacement du répertoire où se trouve le php.ini (et le nom le chemin du php.ini lui-même, attention !):
export PHPRC=~
(je le définis ici à mon répertoire personnel)
Cette dernière commande doit être resaisie à chaque nouvelle session SSH ou mémorisée dans un .bashrc.
Sommaire