SSH (Secure Shell)

Critères requis :

Qu'est-ce que c'est ?

Il s'agit d'un protocole de communication sécurisé. Il impose un échange de clé de chiffrement en début de connexion. Cela signifie que les échanges de données entre le poste client et le serveur seront chiffrés.

Avec quel programme peut-on se connecter ?

Sous les systèmes UNIX (Linux - MAC) :

Un client SSH est directement disponible depuis un terminal avec la commande :

ssh user@ip.adresse.du.serveur

Depuis une machine Windows :

Il faudra utiliser un client Windows comme Putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Une fois ouvert il faudra renseigner l'adresse du serveur :

Puis une fois la connexion faite il faudra renseigner le login et le mot de passe :

Transférer des données vers le serveur

La méthode SFTP

SFTP signifie tout simplement Secure File Transfer Protocol ou protocole de transfert de fichier pour les francophones. Pour simplifier, c'est un FTP dans un tunnel SSH.

La méthode graphique pour accéder à ce type de transfert sera FileZilla.

Il suffira de renseigner l'adresse IP du serveur dans “Hôte”, le nom d'utilisateur dans “Identifiant”, le mot de passe que vous avez choisi et mettre le port 22.

La méthode SCP

Il s'agit d'une copie de fichier ou dossier dans un tunnel SSH. C'est une commande que l'on peut faire depuis un terminal UNIX :

scp <fichier> <username>@<ipaddress>:<DestinationDirectory>

Pour copier le fichier config.txt dans l'arborescence /home/toto/prog du serveur voici la commande :

scp config.txt toto@62.210.***.***:/home/toto/prog/

ou

scp config.txt toto@62.210.***.***:prog/

Deux types d'authentification

Authentification par mot de passe

Une authentification par mot de passe (transmis chiffré) est possible.

Cette authentification peut être désactivée dans le fichier /etc/ssh/sshd_config

# Change to yes to enable tunnelled clear text passwords
PasswordAuthentication no

Puis en redémarrant le service

service ssh restart

Authentification par clé publique

Si quelqu'un connaît votre mot de passe, la sécurité de votre serveur est compromise. Pour éviter cela, SSH permet une Authentification par clé publique/privée au lieu d'un mot de passe.

Pour cela, il faut dans premier temps générer un couple de clé.

ssh-keygen -t rsa

Il vous sera demandé où sauvegarder la clé (par défaut dans le dossier ~/.ssh/) ainsi qu'un passphrase qui va permettre de chiffrer la clé. La clé publique et la clé privé vont être créées. La clé publique se trouve généralement ici :

~/.ssh/id_rsa.pub

L'utilisateur distant doit avoir cette clé. Il faut donc l'envoyer vers le serveur :

ssh-copy-id -i ~/.ssh/id_rsa.pub ip.adresse.du.serveur

Il faudra renseigner le mot de passe utilisateur du serveur. Si l'authentification par mot de passe est désactivée, alors vous aurez besoin de copier/coller votre clé suivant un autre moyen.

Vous allez pouvoir maintenant vous connecter à votre serveur via :

ssh ip.adresse.du.serveur

A ce moment-là, seul le passphrase sera demandé.

Le fichier de configuration du serveur SSH

Le fichier de configuration du serveur SSH se trouve ici : /etc/ssh/sshd_config

Pour permettre une connexion avec le mot de passe root :

PermitRootLogin yes

Vous pouvez décommenter (c'est-à-dire enlever le #) cette ligne. Effet : lorsque vous essayez de vous connecter à votre serveur par SSH, le fichier /etc/issue.net est affiché (à vous de le personnaliser).

#Banner /etc/issue.net

Vous pouvez décommenter (c'est-à-dire enlever le #) cette ligne. Effet : lorsque vous essayez de vous connecter à votre serveur par SSH, le fichier /etc/issue.net est affiché (à vous de le personnaliser).