Génération de sa clé

Si vous n'avez pas encore de clé ssh privée vous pouvez en générer une de la maniére suivante.

ssh-keygen -t  rsa

-t permet de déterminer le type de cryptage utilisé rsa (ssh1) ou dsa (ssh2)
Vous pouvez sauvegarder la clé dans un autre répertoire, mais il est conseillé de laisser celui par défaut ( /home/utilisateur/.ssh/ )
Entrez ensuite une passphrase (mot de passe).
Un fichier clé publique et clé privée sont crées. Ne les perdez pas et n'oublier pas de les transférer si vous passer sur une nouvelle machine, sinon, vous devrez refaire toutes la procédures.

Utilisation de la clé

Il faut ensuite placer le contenu du fichier id_rsa.pub (clé publique) sur les machines sur lesquelles vous devez avoir un accés.

  • Sur la machine distante, allez dans le répertoire /home/utilisateur/.ssh/ editer le fichier authorized_keys
  • Copier y le contenu du fichier id_rsa.pub crée à sur votre machine à l'étape précédent. Vous devez mettre tout sur une seule ligne

Si le répertoire .ssh et que le fichier authorized_keys n'existent pas, créez les vous-méme.
Le dossier 'utilisateur' correspond au login du compte que vous voulez utiliser pour cette machine.

Cas de l'utilisateur web www-data

Méme s'il ne s'agit que d'une clé publique, il est déconseillé de placer la clé dans le répertoire racine de l'utilisateur www-data, à savoir /var/www

  • Il suffit de créer un répertoire /home/www-data
  • Editer le fichier /etc/passwd et changer le répertoire par défaut (/var/www/) par /home/www-data/
  • Ensuite il suffit d'effectuer la prodcédure comme pour un compte 'standard'

Utilisation de sa clé

Votre clés étant correctement placée sur les différents serveurs distants, voici comment celé se déroule. (ssh-agent)

arnaud@debian: ssh www-data@192.168.200.110
Enter passphrase for key '/home/arnaud/.ssh/id_rsa':

Insérer alors la passphrase de votre clé privée, vous serez ainsi connecté à votre serveur distant
Celé fonctionne également sur toutes les applications se basant sur ssh, comme sftp, scp, ...