Asustor Accès terminal SSH via clé publiques

Zouik

Apprenti
14 Juillet 2015
57
1
0
Bonsoir par ici,

Je vous propose petit tuto rapide pour se connecter directement sur le NAS grâce au couple clé publique/privée.
Il y a plusieurs intérêts selon moi:

  • Plus besoin de mot de passe pour se connecter (utile pour les accès à répétition)
  • + de sécurité avec la possibilité de désactiver l'authentification par mot de passe pour le compte admin,root, ou les 2.
  • Facilité pour des scripts de transferts de fichiers entre serveurs (par exemple)

Il y aura 3 étapes pour ce tuto:
  • Générer le couple de clés publique/privée directement depuis le NAS
  • Configurer le NAS
  • Configurer Putty pour se connecter sans mot de passe

C'est parti ! (Le tuto est fait sur un AS5002T)

1/ Générez les clés

Connectez vous en temps que root sur le NAS, et rentrer la commande suivant pour générer le couple de clé:

Code:
ssh-keygen -t rsa -b 2048
Les options: "-t" pour le type de clé (rsa/dsa/...), "-b" pour une clé 2048 bits :D

Plusieurs choses vous seront demandées:
- L'endroit où vous voulez sauvegarder les clés: laissez par défaut
- La passphrase: laissez vide
- Confirmation de la passphrase: vide encore une fois

Une fois ces validations effectuées, le couple de clé sera créé dans l'arborescence "/root/.ssh/" (cf. screen ci-dessous)

ssh01.jpg


2/ Configurer le NAS

Cette étape consiste à créer un fichier dans le répertoire utilisateur, et configurer le daemon SSH pour accepter la connexion par clé et optionnellement désactiver la connexion par mot de passe:

Rentrez tout d'abord cette commande:

Code:
mkdir .ssh && chmod 700 .ssh/ && touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
Encore une fois le détail: On affecte le droit en lecture/écriture/exécution au répertoire ".ssh/" pour l'utilisateur root, puis on créé un fichier vide "authorized_keys" dans ce répertoire avec les droits en lecture/écriture toujours pour l'utilisateur root. (résultat ci-dessous)

ssh02.jpg


Comme son nom l'indique dans le fichier "authorized_keys", on va renseigner les clés publiques qui seront autorisées à se connecter au NAS:

Pour se faire, on tape la commande suivant:

Code:
cat id_rsa.pub > authorized_keys

Cette commande, au lieu d'afficher le contenu du fichier id_rsa.pub (pub pour "publique" donc), va rediriger le flux vers le fichier précédemment créé "authorized_keys". Vous pouvez voir sur le screen ci-dessous que le fichier n'est plus vide, mais a une taille de 396 octets.

ssh03.jpg


Avant de passer à la configuration du daemon SSH, sauvegarder le contenu du fichier id_rsa (votre clé privée en fait) dans un éditeur type Notepad: elle vous servira pour la dernière étape du tuto, à savoir la configuration de Putty.

ssh04.jpg


Pour le fichier de configuration SSH, vous pouvez éditer le fichier "/usr/etc/ssh/sshd_config"'.

Je vous invite à vérifier/modifier les paramètres suivants:
  • PermitRootLogin without-password
  • StrictModes yes
  • RSAAuthentication yes
  • PubkeyAuthentication yes
  • AuthorizedKeysFile %h/.ssh/authorized_keys

La valeur "without-password" associé au paramètre "PermitRootLogin" permet à l'utilisateur root de se connecter au NAS uniquement grâce à sa clé publique, et non plus avec un simple mot de passe, terminé le bruteforce ;)

Vous pouvez complètement désactivé l'accès par mot de passe avec le paramètre suivant:
  • PasswordAuthentication no (yes par défaut)

:!: Je vous déconseille de désactiver tout de suite ce paramètre: si la configuration avec les clés ne fonctionnent pas au premier essai, et que cette option est à "no", vous n'aurez tout simplement plus accès à la console ! :!:

Une fois ce fichier sauvegardé, vous pouvez redémarrer le NAS relancer le process SSH pour que les changements soient pris en compte !
Code:
/etc/init.d/S41ssh stop && /etc/init.d/S41ssh start &


:?: Petit détail: en temps normal un "restart" du daemon est suffisant, mais le script de redémarrage présent sur le NAS de base ne relance jamais le daemon, et oblige dans tous les cas à redémarrer. Je n'ai pas encore eu le temps de m'y pencher, mais pour ceux que ça intéresse, le fichier est le suivant "/etc/init.d/S41ssh"

3 / Configuration du client Putty

Voilà le moment où on se sert de la clé RSA sauvegardée à l'étape 2. Commencez par ouvrir "Putty Key Generator" et cliquer sur "Load" pour charger la clé sauvegardée

ssh05.jpg


Mettez un petit commentaire qui va bien
ssh06com.jpg


Cliquez sur "Save Private Key" et validez quand vous avez le warning concernant la passphrase
ssh06.jpg


On peut maintenant configurer un profil dans Putty: rentrez l'adresse IP du NAS, choisir "SSH" en connection type, mettre un nom dans "Saved Sessions"
ssh07.jpg


Dans la catégorie "Connection -> Data" remplir le username avec "root"
ssh08.jpg


Dans la catégorie "Connection -> SSH -> Auth", parcourez votre ordinateur à la recherche de votre clé privée précédemment sauvegardée.
ssh09.jpg


Vous pouvez sauvegarder cette session Putty et cliquer sur "Open" et si tout s'est bien déroulé, vous devriez être logué grâce à votre couple de clé !
ssh10.jpg


4 / BONUS: Connexion avec Filezilla

Maintenant que vous savez vous connecter à votre NAS en SSH, il peut être intéressant de se connecter en SFTP avec un logiciel comme Filezilla par exemple. L'avantage c'est qu'il faut juste configurer le logiciel en question vu que vous avez déjà votre couple de clés.

Première chose à faire une fois Filezilla lancé:
Allez dans "Édition -> Paramètres", puis sur le bandeau latéral, cliquer sur "SFTP" et vous allez pouvoir y "Ajouter une clé privée" (oui, la même que celle des étapes précédentes)
filezilla1.jpg


Il ne reste plus qu'à créer un nouveau site dans "Fichier -> Gestionnaire de Sites..."
filezilla2.jpg


Voici les paramètres à renseigner:
Hôte: l'adresse IP de votre NAS
Port: 22
Protocole: SFTP - SSH File Transfer Protocol
Type d'authentification: Interactif
Identifiant: root

filezilla3.jpg


:!: Le mot de passe est grisé car vous allez utiliser votre clé privée pour vous connecter.

Il ne vous reste plus qu'à lancer la connexion et si tout se passe bien vous devriez avoir le message ci-dessous.
filezilla4.jpg


Si la clé utilisée n'est pas la bonne, un mot de passe vous sera demandé
filezilla5.jpg


Vous pouvez récupérer/modifier directement vos fichiers avec l'explorateur de Filezilla.
filezilla6.jpg



J'espère que ce tuto servira à d'autre, et si jamais vous avez des questions ou des doutes, n'hésitez pas ! :geek:
 
Merci bien :oops:

J'ai créé un ticket au support pour le script qui ne fonctionne pas comme il faudrait, on va voir ce qu'ils en pensent. Ça serait tout de même plus pratique de pouvoir restarter le process SSH "à chaud" et pouvoir tester les modifications en direct.
 
Hello,

Petit update du jour:
- J'ai eu un retour du support, apparemment le restart n'est pas bien géré dans le script, mais le stop/start fonctionne sans souci
- J'ai ajouté un petit bonus pour se connecter en SFTP avec Filezilla, pour ceux qui préfèrent avoir une interface graphique
 
  • J'aime
Réactions: JacquesNAS
Zouik a dit:
Hello,

Petit update du jour:
- J'ai eu un retour du support, apparemment le restart n'est pas bien géré dans le script, mais le stop/start fonctionne sans souci
- J'ai ajouté un petit bonus pour se connecter en SFTP avec Filezilla, pour ceux qui préfèrent avoir une interface graphique

t es un chef toi.
bravo :!: :D
 
Bonsoir,
Tout nouveau sur ce forum, et très satisfait de m'y être inscrit.
En effet depuis une semaine je tourne en rond à la recherche d'un tuto digne de ce nom, qui explique en détail à un "noob" comme moi comment configurer SSH.
Et voilà enfin qui est fait, grâce à Monsieur Zouik, que je remercie chaleureusement ;)
Bravo !
 
Bonjour,

Depuis la mise à jour vers ADM 6 cela ne fonctionne plus chez moi? Vous aussi?

En tout cas super tuto merci à toi :)
 
Bonjour,

Je viens de voir la mise à jour disponible, et je n'ai pas encore essayé.

Je teste ça ce soir et j'adapterais en fonction
 
Bon après mise à jour, je n'ai aucun souci, je m'authentifie toujours via clé publiques. Tu dois avoir un loup quelque part :D
 
Super tuto, toujours fonctionnel sous ADM 3.0.

Par contre le
Code:
mkdir .ssh
n'est pas nécessaire après la génération de la clé ;)
 
Super, ça fonctionne toujours sur ADM 4.2
Si jamais la clé est créée pour un autre utilisateur, attention de bien donner les droits d'accès au dossier au user/groupe
 
  • J'aime
Réactions: Dami1
Vu que vous parlez d’accès ssh via clé partagée, pourriez-vous m’expliquer l’intérêt de ce principe par rapport au traditionnel mot de passe.
 
  • J'aime
Réactions: Dami1
Dernière édition:
La clé est impossible à attaquer en méthode de force brute.
Ok mais pourquoi ?
Et dans le cas où on n’ouvre pas ce port sur internet (ce qui est quand même fortement recommandé, de ne pas ouvrir le port ssh hein 😉), c’est vraiment plus utile ?

Car là je ne vois pas ce que ça m’apporterait de passer sur une clé plutôt que le mot de passe.
Pour le reste, les explications ne manquent pas . exemple :https://www.it-connect.fr/chapitres/authentification-ssh-par-cles/
Ce lien n’explique pas vraiment pourquoi il serait préférable de passer par une clé plutôt que le mot de passe.
En revanche il explique comment mettre ça en place.

Bref mon interrogation demeure 😊
 
Ok mais pourquoi ?
Et dans le cas où on n’ouvre pas ce port sur internet (ce qui est quand même fortement recommandé, de ne pas ouvrir le port ssh hein 😉), c’est vraiment plus utile ?

Car là je ne vois pas ce que ça m’apporterait de passer sur une clé plutôt que le mot de passe.

Ce lien n’explique pas vraiment pourquoi il serait préférable de passer par une clé plutôt que le mot de passe.
En revanche il explique comment mettre ça en place.

Bref mon interrogation demeure 😊
Ya un lien dans le lien pour la théorie ;)
mais pour résumer , tu peux créer un couple de clés jusqu'à 4096bits... ça fait un mot de passe de 512 caractères , et pas seulement a-z 0-9... mais forgé avec un jeu de 256 caractères différents...Et quand le mécanisme de forge des clés n'est pas buggé, c'est du full random , pas de biais humain possible .
Donc incassable en force brute, aucune chance avec un dictionnaire ..., jusqu'à aujourd'hui, l'arrivée des ordinateurs quantiques risquant de changer la donne ...
 
  • J'aime
Réactions: MilesTEG