Logo OpenSSH Si comme moi vous êtes l’heureux possesseur d’un media center sous OpenELEC, vous êtes peut-être restés perplexes devant le fait que le mot de passe root du système ne peut pas être modifié. Ainsi, toute personne ayant accès à votre réseau local et connaissant l’adresse IP de votre media center peut s’y connecter en root.

Voyons ensemble comment sécuriser cela au mieux : Comme on ne peut pas modifier le mot de passe, on va activer l’authenification par clé SSH puis désactiver l’authentification par mot de passe.

Les premières étapes sont expliquées en détail sur ce billet de blog (en)

Créer une clé d’authentification

Si on n’a pas encore de clé SSH, il faut utiliser la commande ssh-keygen, pour en générer une :

vetetix@localhost:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vetetix/.ssh/id_rsa): [Entrer]
Created directory '/home/vetetix/.ssh'.
Enter passphrase (empty for no passphrase): "password" [Entrer]
Enter same passphrase again: "password" [Entrer]
Your identification has been saved in /home/vetetix/.ssh/id_rsa.
Your public key has been saved in /home/vetetix/.ssh/id_rsa.pub.
The key fingerprint is:
a8:27:5f:26:60:45:aa:8a:93:55:dd:6e:9a:89:34:d5 vetetix@localhost
The key's randomart image is:
+---[RSA 2048]----+
|      .          |
|     + o         |
|    o + E        |
|   o o o         |
|  o = . S        |
|.+ o = =         |
|=   + * o        |
| .   + +         |
|      .          |
+-----------------+

Copier cette clé sur le media center

On copie ensuite cette clé sur le serveur, à l’aide de l’utilitaire ssh-copy-id. Elle va se mettre dans le fichier .ssh/authorized_keys d’OpenELEC.

Récupérons l’adresse IP du media center (Dans SYSTÈME>Informations système par exemple). Dans la commande ci-dessous, il faut remplacer ip-du-mediacenter par cette adresse IP.

vetetix@localhost:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip-du-mediacenter
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@kodi-salon's password: [Openelec - Entrer]

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@id-du-mediacenter'"
and check to make sure that only the key(s) you wanted were added.

Vérifions que la clé a bien été activée :

vetetix@localhost:~$ ssh root@ip-du-mediacenter

Le shell devrait nous connecter sans demander de mot de passe (ou éventuellement celui de la clé SSH qu’on vient de créer.

Désactiver l’accès SSH par mot de passe

Une fois toutes les étapes précédentes réalisées, on peut sereinement désactiver l’accès SSH par mot de passe, dans l’interface de OpenELEC.

Cela se passe dans le menu SYSTÈME (OpenELEC)>Services. Il faut cocher l’option “Désactiver le mot de passe SSH”.

L’accès au media center est désormais sécurisé. On ne peut s’y connecter que si l’on possède la partie privée de la clé SSH configurée dans le fichier authorized_keys.