Accès terminal SSH via clé publiques

Les tutoriaux rédigés par les membres
Avatar du membre
Zouik
Apprenti
Messages : 55
Enregistré le : 14 juillet 2015

Accès terminal SSH via clé publiques

Message par Zouik » 16 juil. 2015 22:40

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 : Tout sélectionner

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)

Image

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 : Tout sélectionner

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)

Image

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 : Tout sélectionner

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.

Image

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.

Image

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 : Tout sélectionner

/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

Image

Mettez un petit commentaire qui va bien
Image

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

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"
Image

Dans la catégorie "Connection -> Data" remplir le username avec "root"
Image

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

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é !
Image

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)
Image

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

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

Image

:!: 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.
Image

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

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


J'espère que ce tuto servira à d'autre, et si jamais vous avez des questions ou des doutes, n'hésitez pas ! :mrgreen:
Modifié en dernier par Zouik le 23 juin 2018 21:04, modifié 5 fois.
Asustor AS5002T 4Go
Tuto SSH Auth Public Key

Avatar du membre
FX Cachem
Site Admin
Messages : 9266
Enregistré le : 08 décembre 2013
Professionnel : Non
Localisation : Paris
Contact :

Re: Accès terminal SSH via clé publiques

Message par FX Cachem » 16 juil. 2015 22:51

Wahou... Super boulot. Merci Zouik !!! :D
Blogueur sur Cachem et administrateur du Forum des NAS
NAS : Synology DS412+ | QNAP TS-470 Pro | ASUSTOR AS-302T

Avatar du membre
Zouik
Apprenti
Messages : 55
Enregistré le : 14 juillet 2015

Re: Accès terminal SSH via clé publiques

Message par Zouik » 17 juil. 2015 00:16

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.
Asustor AS5002T 4Go
Tuto SSH Auth Public Key

Mien-Mien
Padawan
Messages : 112
Enregistré le : 01 février 2015
Professionnel : Non

Re: Accès terminal SSH via clé publiques

Message par Mien-Mien » 17 juil. 2015 02:01

J'adore !! :D Exactement ce genre de chose que j'attends de ce forum ! :)
AS-604T (3Go) + 4xWD Red 4To en RAID5, GS108Tv2, Freebox Revolution

Avatar du membre
Dami1
Représentant d'ASUSTOR
Messages : 5921
Enregistré le : 23 décembre 2013
Professionnel : Oui
Localisation : France
Contact :

Re: Accès terminal SSH via clé publiques

Message par Dami1 » 17 juil. 2015 14:45

excellent !
bien écrit et bien illustré
bravo :D
Service Marketing ASUSTOR
[Image
ASUSTOR est une filiale du groupe ASUSTEK (ASUS)

Avatar du membre
Zouik
Apprenti
Messages : 55
Enregistré le : 14 juillet 2015

Re: Accès terminal SSH via clé publiques

Message par Zouik » 21 juil. 2015 19:34

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
Asustor AS5002T 4Go
Tuto SSH Auth Public Key

Avatar du membre
Dami1
Représentant d'ASUSTOR
Messages : 5921
Enregistré le : 23 décembre 2013
Professionnel : Oui
Localisation : France
Contact :

Re: Accès terminal SSH via clé publiques

Message par Dami1 » 21 juil. 2015 23:36

Zouik a écrit :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
Service Marketing ASUSTOR
[Image
ASUSTOR est une filiale du groupe ASUSTEK (ASUS)

Trishul
Messages : 13
Enregistré le : 29 août 2015
Professionnel : Non
Localisation : Yvelines

Re: Accès terminal SSH via clé publiques

Message par Trishul » 30 août 2015 01:07

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 !

jonathanmf
Messages : 8
Enregistré le : 03 mars 2016

Re: Accès terminal SSH via clé publiques

Message par jonathanmf » 28 avr. 2016 08:53

Bonjour,

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

En tout cas super tuto merci à toi :)

Avatar du membre
Zouik
Apprenti
Messages : 55
Enregistré le : 14 juillet 2015

Re: Accès terminal SSH via clé publiques

Message par Zouik » 28 avr. 2016 10:38

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
Asustor AS5002T 4Go
Tuto SSH Auth Public Key

Répondre

Retourner vers « Tutoriaux »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 6 invités