Activation de la connexion ssh sur un Synology DS-101J

Avertissement

Les manipulations décrites dans cet article sont à vos risques et périls et vous engagez uniquement votre responsabilité. L'auteur décline toute responsabilité pour tout dysfonctionnement, pertes de données ou autres qui pourraient survenir suite à ls modification de votre NAS Synology DS-101J.

En exécutant cette procédure, vous acceptez l'entière responsabilité.\\
Si vous utilisez le firmware DSM 2.0-0640; Build 26/06/2008 cette procédure n'est pas nécessaire, pour la partie installation, car cette fonctionnalité a été intégréée sous Services réseaux > Terminal, passez directement à l'Astuce pour une connexion ssh avec uniquement avec la clé, sans mot de passe

Préquis

- Le service Telnet doit être activé sur votre Synology DS-101J.

Procédure

1. Connectez-vous à votre Synology via Telnet

2. Actualisez la base de données d'IPKG :

ipkg update

3. Installez le package openssh :

ipkg install openssh

4. Maintenant, vous pouvez configurer openssh. Le fichier de configuration se trouve sous :

/volume1/opt/etc/openssh/sshd_config

Astuce pour une connexion ssh avec uniquement avec la clé, sans mot de passe

1. Editez le fichier sshd_config avec vi :

vi /volume1/opt/etc/openssh/sshd_config

2. Modifiez les valeurs (Appuyez sur la touche i pour passer en mode d'insertion) :

PermitRootLogin without-password
PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

3. Quittez le mode d'insertion (Appuyez sur la touche Esc pour quitter le mode d'insertion) et enregistrez vos modifications :

:wq

4. Redémarrez le service ssh :

/opt/etc/init.d/./S40sshd restart

Utilisateur root

1. Créez un répertoire .ssh pour la clé d'identifcation de l'utilisateur root :

mkdir /root/.ssh

2. Transférez une copie la clé publique ssh dans le dossier /root/.ssh.

3. Copiez le contenu du fichier id_dsa.pub vers le fichier /root/.ssh/authorized_keys :

cd /root/.ssh/
cat id_dsa.pub >> authorized_keys

4. Supprimez le fichier id_dsa.pub copié dans /root/.ssh :

rm id_dsa.pub

5. Maintenant l'utilisateur root pourra se connecter directement à votre DS-101J via ssh :

ssh root@adresse_ip_synology
Exemple:
ssh root@192.168.1.20

Utilisateurs non-root

Si vous avez d'autres utilisateurs sur votre synology, vous pouvez pour chacun d'eux, un faux répertoire /home/<utilisateur>/.ssh dans lequel la clé ssh sera copiée. Pour l'exemple, nous partirons du principe que l'utilsateur mogavero a été créé depuis l'interface web :

1. Créez un répertoire .ssh pour l'utilisateur mogavero, en respectant la structure Linux  :

mkdir -p /home/mogavero/.ssh

2. Modification des droits de ce répertoire pour cette utilisateur :

chown -R mogavero:users /home/mogavero/.ssh

3. Transférez une copie de la clé publique de l'utilisateur mogavero dans le répertoire /home/mogavero/.ssh :

4. Copiez le contenu du fichier id_dsa.pub vers le fichier /home/mogavero/.ssh/authorized_keys :

cd /home/mogavero/.ssh/
cat id_dsa.pub >> authorized_keys

5. Supprimez le fichier id_dsa.pub copiez dans /home/mogavero/.ssh/ :

rm id_dsa.pub

6. Editez le fichier passwd se trouvant dans le répertoire /etc :

vi /etc/passwd

7. Recherchez la ligne concernant l'utilisateur mogavero :

mogavero:x:1026:100::/:/bin/csh

8. Appuyez sur la touche i pour passer en mode d'insertion.

9. Modifiez cette ligne comme ceci, pour que l'utilisiateur mogavero arrive directement dans le répertoire /home/mogavero :

mogavero:x:1026:100::/home/mogavero:/bin/sh

10. Appuyez sur la touche Esc, puis enregistrez votre modification comme ceci :

:wq

11. Maintenant votre utilisateur mogavero pourra se connecter directement à votre DS-101J via ssh :

ssh mogavero@adresse_ip_synology
Exemple:
ssh mogavero@192.168.1.20