Logo de ce site

Navigation rapide

Accueil > Majilux > Open-SSH connexion sécurisée distante.

Open-SSH connexion sécurisée distante.

samedi 31 octobre 2009

Utiliser ssh pour maintenir son serveur.

Pour diverses raisons, il est plus facile de prendre la main par
ssh pour l’administration du serveur que de se logguer
graphiquement (soit sur le serveur, soit sur le TX). Cependant, on
laisse alors un serveur tourner sur un port (majoritairement le 22)
et ceci ouvre certaines failles que peuvent exploiter certaines
personnes. Voici un certain nombre de règles, non exhaustives,
permettant de sécuriser au maximum son serveur majilux (ou tout
autre ;) )

- 1) Changer le port. il suffit de changer la ligne correspondante
dans /etc/ssh/sshd_config
le Port 22 peut être alors remplacé par le Port 21564, attention toutefois, il
faudra alors autoriser une règle particulière pour le firewall.
Nota : Cela est possible par "terminix/gerer_le_parefeu/mode : expert choix éditeur mais ce n’est peut être pas à la porté de tout le monde.

2) N’autoriser que son propre compte
et pas celui de admin qui lui a des droits sudo
AllowUsers votre_user_ssh

3) N’autoriser que le système de clef.
- ATTENTION : si la clef est perdue... on ne peut plus faire de ssh...

4) L’adresse ip utiliser dans cette documentation est à adapter selon votre configuration personnelle.


Activer et utiliser ssh

**a) Génération de la paire de clef sur la machine distante.
Cette paire est constituée d’une clef publique, qui devra être copiée dans le répertoire /.ssh de votre utilisateur ssh sur le serveur majilux
(exemple : /home/admin/.ssh )

Création des clés.
ssh-keygen -t rsa

rentrer un mot de passe FORT (chiffres, maju-minu + caractères _- ?/
par exemple : dkhg65vbhgGf ; !+ (on le demande 2 fois))

2 fichiers sont alors crées : id_rsa et id_rsa.pub dans /.ssh (du poste distant).

**b) copier la clef publique (id_rsa.pub) dans le répertoire /.ssh/
de votre utilisateur ssh sur le serveur)

Commande depuis le poste distant (ubuntu ....)
rsh 192.168.111.1 mkdir .ssh
rcp .ssh/id_rsa.pub 192.168.111.1 :.ssh/authorized_keys
rsh 192.168.111.1 chmod 700 .ssh
rsh 192.168.111.1 chmod 400 .ssh/authorized_keys

**c) mettre la clef id_rsa (clef privée) en lieu sûr et en plusieurs
exemplaires sur plusieurs supports :)

**d) modifier ces options dans /etc/ssh/ssh_config du serveur :
PasswordAuthentication no (on ne permet pas l’authentification par mot de passe)
PubkeyAuthentication yes (Utilisation de la clé)
----
4) Tester votre installation.

La procédure en quelques lignes

Modifier le fichier /etc/ssh/sshd_config comme suit :
PermitRootLogin no
AllowUsers votre_user_ssh
Activer le serveur ssh
/etc/init.d/ssh start
Verifier la possibilité de la connexion
ssh votre_user_ssh@192.168.111.1
le mot de passe de votre_user_ssh est demandé
OK la connexion fonctionne on peut sortir "exit"

On génére les clés de chiffrement :
ssh-keygen -t rsa
Copier la clé au bon endroit chez votre_user_ssh
rsh 192.168.111.1 mkdir .ssh
rcp .ssh/id_rsa.pub 192.168.111.1 :.ssh/authorized_keys
rsh 192.168.111.1 chmod 700 .ssh
rsh 192.168.111.1 chmod 400 .ssh/authorized_keys

On active la fonction sur le serveur en modifiant une
dernière fois le fichier :
/etc/ssh/sshd_config
mettre :
PasswordAuthentication no
PubkeyAuthentication yes
Relancer le serveur ssh avec /etc/init.d/ssh restart.

Il reste à tester cette fonction en se connectant au serveur la
passphrase de la clé sera demandé à la place du password de l’utilisateur.

Dernière chose activer ssh pour que lors du prochain reboot il soit
actif par défaut
update-rc.d ssh

JpG et JBB