*New 11.3 series Release:
2019-10-19: XigmaNAS 11.3.0.4.7014 - released

*New 12.0 series Release:
2019-10-05: XigmaNAS 12.0.0.4.6928 - released!

*New 11.2 series Release:
2019-09-23: XigmaNAS 11.2.0.4.6881 - released!

We really need "Your" help on XigmaNAS https://translations.launchpad.net/xigmanas translations. Please help today!

Producing and hosting XigmaNAS costs money. Please consider donating for our project so that we can continue to offer you the best.
We need your support! eg: PAYPAL

[TUTO] Connexion SSH avec clé RSA sans mot de passe

Moderators: mtiburs, velivole18, ernie

Locked
User avatar
ernie
Forum Moderator
Forum Moderator
Posts: 1417
Joined: 26 Aug 2012 19:09
Location: France - Val d'Oise
Status: Offline

[TUTO] Connexion SSH avec clé RSA sans mot de passe

#1

Post by ernie » 07 May 2015 22:49

Voici le tutoriel pour avoir une connexion ssh entre 2 nas sans avoir à saisir de mot de passe.
Dans mon cas, cela a été nécessaire pour l'usage de zrep (viewtopic.php?f=94&t=8606).

Merci à velivole18 et karlandtanya qui ont contribué par leurs posts ou messages.

Configuration que j'ai testée:
NAS1:
Nayla-1391
x64-embedded on G3220@3GHz
MB: GIGABYTE GA-6LXGH (BIOS: R01 04/30/2014)
3 HDD @ 2To (raidz1), 1 HDD @ 2 To (spare), 1 SSD cache, 1 HDD@1To (UFS, USB)
16 Go ECC
UPS: APC Back-UPS RS 900G
TheBrig : owncloud 8.0.2 and Plex 0.9.12.0
Extensions : phpVirtualBox 4.3-2, RRDG, eGUI, BTSync,
Services : Bittorrent, UPS

NAS2:
Nayla-1391
x64-embedded on G3220 3GHz
MB: as master NAS
3 HDD @ 2To (raidz1),1 SSD cache, 1 HDD@1To (UFS)
16 Go ECC
UPS: APC Back-UPS RS 900G
Extensions : RRDG, eGUI
Services : Rsync

zrep between both NAS

Pour toutes questions, merci d'utiliser le post suivant: viewtopic.php?f=35&t=8855

Donc commençons:

Etape 1
Il faut identifier le hostname de chaque nas. Dans mon cas nas1 est le maitre et nas2 le backup. Cette étape est clé pour le tuto de zrep.

Sur nas1, aller dans le webgui, menu Reseau/hote. Cliquez sur le bouton + et saisissez l'ip du nas2 et son hostname.

Sur le nas2, faites de même avec les infos de nas1 (ip, hostname).

Etape 2
Il faut créer les clés RSA sur le nas maitre afin de communiquer avec le nas destination (merci à velivole18, c'est dans son tuto viewtopic.php?f=94&t=7883).
Note: A faire dans les 2 sens bien sur pour le cas de zrep.

Dans un terminal connectez vous au nas maitre:

Code: Select all

ssh root@192.168.0.20
Adaptez à l'adresse de votre nas maitre

Ensuite on génère la clé:

Code: Select all

ssh-keygen -t rsa
puis 3 fois Entrée
Cette commande génère une clé publique et une clé privée (dans l'ordre, id_rsa.pub et id_rsa) dans le dossier "/root/.ssh" du nas "maître".

Etape 3
A partir de la session ssh présente sur la machine "maître", se connecter en ssh sur la machine "esclave" :

Code: Select all

ssh root@192.168.0.21
Adaptez à l'adresse de votre nas destination
Vous aurez à saisir pour la dernière fois le mot de passe root du nas destination.

Sur la machine "esclave" :
Créer le répertoire "/root/.ssh" avec les droits 700, puis se déconnecter du serveur "esclave" :

Code: Select all

mkdir /root/.ssh
chmod 700 /root/.ssh
exit
On se retrouve sur la machine maître.

Etape 4
De nouveau sur la machine "maître" (toujours dans la console mais connecté au maitre car on a quitté la destination):
il faut copier la clé publique (id_rsa.pub) dans un fichier "authorized_keys" dans le dossier "/root/.ssh" de la machine "esclave".

Code: Select all

scp /root/.ssh/id_rsa.pub 192.168.0.21:/root/.ssh/authorized_keys
Adaptez l'adresse ip du nas destination.

Etape 5
Se re-connecter sur le serveur "esclave" et dans le même temps vérifier que la connexion ne demande plus de mot de passe :

Code: Select all

ssh root@192.168.0.21
Etape 6
Sortir du nas destination et on va copier le contenu du répertoire /root/.ssh du nas maitre sur un endroit persistent:

Code: Select all

cp /root/.ssh/* /mnt/pool1/root/.ssh
Adaptez le chemin de destination.

Etape 7
Ensuite on crée un script pour qu'à chaque reboot on récupère les clés sur /root/.ssh (adaptez les chemins de stockage du script et celui où se trouve la sauvegarde de .ssh):

Code: Select all

vi /mnt/pool1/init_ssh.sh

Code: Select all

#!/bin/sh
mkdir /root/.ssh
chmod 700 /root/.ssh
cp /mnt/pool1/root/.ssh/* /root/.ssh
chown -R root:wheel /root/.ssh
chmod 600 /root/.ssh/authorized_keys /root/.ssh/id_rsa /root/.ssh/known_hosts
sauvegarder et fermer "/mnt/pool1/init_ssh.sh" sous vi et le rendre exécutable :

Code: Select all

chmod +x /mnt/pool1/init_ssh.sh
Etape 8
Sur le webgui du nas "maître" :
Dans "Système|Avancé|Scripts" de commande" positionner l'exécution du script "/mnt/pool1/init_ssh.sh" dans la phase de "Postinit" du serveur "maître".

Etape 9
On refait la meme chose du nas destination (destination devient maitre et maitre devient destination dans le tuto).

Etape 10
Refaire une copie des contenus de .ssh des 2 nas vers le lieu persistent car la 2eme manipulations avec le nas destination, recreera des fichiers authorized_keys et known_hosts qui sont indispensables au bon fonctionnement.

Code: Select all

cp /root/.ssh/* /mnt/pool1/root/.ssh
pour chaque nas et adaptez le lieu de destination.

Ainsi .ssh contient:
ssh.png
et cela se retrouve après la copie sur vos endroits persistents, que le script init_ssh remettra à chaque reboot dans /root/.ssh/


ATTENTION : (comme l'a dit velivole18)
Ce tuto met en oeuvre une liaison ssh sous le login "root" sans mot de passe.
C'est contraire aux règles élémentaires en matière de "SSI" (Sécurité des Systèmes d'Information") car cela constitue une faille qui peut être exploitée par des personnes malintentionnées à votre détriment. Je décline toute responsabilité sur les risques et leurs conséquences de cette solution. Vous pouvez trouver sur internet une multitude d'explications sur les dangers de l'établissement d'une liaison ssh root entre PC sans mot de passe.
You do not have the required permissions to view the files attached to this post.
Last edited by mtiburs on 10 Jul 2015 00:40, edited 1 time in total.
Reason: Correction de fautes
NAS 1&2:
System: GA-6LXGH(BIOS: R01 04/30/2014) / 16 Go ECC
XigmaNAS 12.0.0.4.6766 embedded
NAS1: Xeon E3 1241@3.5GHz, 4HDD@2To/raidz2 (WD red), 3HDD@300Go/sas/raidz1 (Hitachi), 1SSD cache, Zlog on sas mirror
NAS2: G3220@3GHz, 3HDD@2To/raidz1 (Seagate), 1SSD cache, 1HDD@300Go/UFS
UPS: APC Back-UPS RS 900G
Case : Fractal Design XL R2

Extensions & services:
NAS1: OBI (Plex, extendedGUI, BTSync, zrep, rclone), nfs, UPS,
NAS2: OBI (extendedGUI, zrep (backup mode))

Locked

Return to “Tuto”