Traduction(s): ?English.

Introduction

Tout comme Telnet, ssh est un protocole qui permet de se connecter à distance sur une machine à la différence que ssh crypte les données avec l'algorythme RSA. Le problème avec Telnet est que toutes les données qui transitent entre le client et le serveur sont en clair. L'utilisation de ssh permet donc de crypter les données échangées entre le client et le serveur.

Installation

Installation du client

Normalement, le client est installé par défaut, sinon il suffit de saisir en root

aptitude install openssh-client

Installation serveur

La partie serveur permet à des hôtes distants de se connecter à votre système.

aptitude install openssh-server

Fichiers de configurations

Les principaux fichiers de configuration sont dans le répertoire /etc/ssh :

De plus, ce répertoire contient les couples de clés privées/publiques identifiant votre hôtes :

Accès sur une machine distante

avec mot de passe

Si vous voulez vous connectez à la machine $hote_distant avec l'utilisateur $utilisateur_distant, saisir simplement

ssh $utilisateur_distant@$hote_distant

et saisir votre mot de passe.

Si le nom d'utilisateur sur le système local et la machine distante sont les mêmes, vous pouvez omettre la partie $utilisateur_distant@ et saisir simplement

ssh $hote_distant

Utilisation de clés partagées

ssh-keygen -t rsa

Ce programme va générer un couple de clés privé/publique dans le répertoire ~/.ssh. Le programme vous demande dans un premier temps le répertoire de destination des clés, par défaut votre répertoire personnel, une passphrase vous est ensuite demandé.

Notes : nous vous conseillons de ne pas laisser la passphrase vide. En effet, un attaquant qui aurait récupéré votre clé privé pourrait ensuite se connecter facilement à tous les hôtes sur lesquels vous avez déposé votre clé publique si la passphrase est vide. Pensez à choisir une passphrase longue et complexe.

Votre clé privée est id_rsa (vous devez ne jamais la fournir à un tiers), la clé publique est id_rsa.pub.

Vous devez copier votre clé publique sur l'hôte distant avec la commande ssh-copy-id

ssh-copy-id -i ~/.ssh/id_rsa.pub $utilisateur_distant@$hote_distant

Vous pouvez maintenant vous connecter simplement à l'hôte distant, la passphrase vous est demandée. Une fois rentré, vous êtes connecté à l'hôte distant. En cas de nouvelles connections, la passphrase ne vous sera plus demandé durant toute votre session.

Sécurisation

/!\ Utilisation de la dernière version du package openssh-server disponible permet de se protéger contre l'utilisation des failles de sécurité connues.

Options de configuration

(!) Il faut éditer le fichier /etc/ssh/sshd_config pour ajuster le paramétrage puis relancer le serveur ssh par

invoke-rc.d ssh restart

{i} Les options AllowUsers et Erreur-A Corriger n'amélioreront pas la sécurité d'un serveur SSH. Mais, dans certains cas, leur utilisation permet de résister un peu plus longtemps lors des attaques par brut force.

Outils externes

Fonctions complémentaires

Commandes supplémentaires

scp

scp $fichier_source $utilisateur_distant@$hote_distant:$fichier_destination

scp $utilisateur_distant@$hote_distant:$fichier_source $fichier_destination

sftp

mode texte

mode graphique

clusterssh

ssh-agent

keychain

ssh-askpass

libpam-usb

Permettre l'accès à un réseau de l'extérieur à travers un firewall sans modifier sa configuration

Tunnel ssh pour sécuriser d'autres applications

options complémentaires

Applications graphiques (X11Forwarding)

pop3

imap

smtp

Divers

Les options de la ligne de commande SSH (les séquences après escape ~)

Options de configuration du fichier authorized_keys

 option1,option2,optionN type-de-clef clef-en-base64 commentaire.


ToDo: merge (and translate) this page and the english one