Vous êtes sur la page 1sur 16

Serveur SSH scuris

avec authentification par


certificat (v4.34)



Tutorial conu et rdig par Michel de CREVOISIER













2

INDEX


INDEX ................................................................................................................................................................... 2
1. Installation .................................................................................................................................................. 3
2. Configuration .............................................................................................................................................. 3
2.1 Fichier de configuration ....................................................................................................................... 3
2.2 Gnration des clefs sous Linux .......................................................................................................... 3
2.3 Gnration des clefs sous Windows .................................................................................................... 5
3. Connexion par certificat ............................................................................................................................. 6
4. Scurisation du serveur SSH ....................................................................................................................... 7
4.1 Dsactivation de la connexion par mot de passe ................................................................................ 7
4.2 Restrictions des IP selon lutilisateur ................................................................................................... 7
5. X-Server ....................................................................................................................................................... 9
5.1 Configuration de Putty ........................................................................................................................ 9
5.2 Lancement dune application ............................................................................................................ 10
6. Tunnel SSH ................................................................................................................................................ 11
6.1 Cration dun tunnel .......................................................................................................................... 11
6.2 Configuration du socket dans Firefox ................................................................................................ 12
6.3 Requte DNS ...................................................................................................................................... 12
7. Outils et logiciels ....................................................................................................................................... 13
7.1 Putty .................................................................................................................................................. 13
7.2 Kitty.................................................................................................................................................... 13
7.3 Putty Connection Manager ............................................................................................................... 13
7.4 mRemoteNG ...................................................................................................................................... 14
7.5 Gate One : client SSH en HTML5 ....................................................................................................... 14
7.6 FireSSH ............................................................................................................................................... 15
8. Divers ......................................................................................................................................................... 16
8.1 Journaux dvnements .................................................................................................................... 16
8.2 Activation du routage ........................................................................................................................ 16





3

1. Installation

Installation des paquets client, serveur et outils :
aptitude install openssh-client openssh-server putty-tools

2. Configuration

2.1 Fichier de configuration

Ouverture et dition du fichier :
nano /etc/ssh/sshd_config

Redmarrage du daemon SSH :
/etc/init.d/sshd restart

2.2 Gnration des clefs sous Linux

2.2.1 Gnration du jeu de clefs

Gnration du jeu de clefs :
ssh-keygen t rsa b 1024 C user@machine

Dtail des options :
-t : type de cryptage
-b : taille de la clef
-C : commentaire

Il vous sera alors demand :
Lemplacement de la clef (par dfaut dans /user/.ssh/)
Un mot de passe (optionnel) pour crypter la clef prive

Aprs quoi, vous obtenez deux fichiers :
id_rsa : clef prive laquelle on peut associer un mot de passe
id_rsa.pub : clef publique. Ce fichier doit tre ajout dans le fichier ~/.ssh/authoriz_keys
(point 2.2.2) de toutes les machines o lutilisateur souhaite se connecter



4

2.2.2 Autorisation de la clef publique

Pour quun utilisateur puisse se connecter une machine, il est ncessaire dajouter sa clef
publique dans le fichier ~/.ssh/authoriz_keys. Pour cela, excutez la commande suivante depuis
votre serveur :
cat id_rsa.pub >> ~/.ssh/authorized_keys

2.2.3 Exportation sous Windows

Il faut maintenant exporter et convertir le fichier de clef prive id_rsa en id_rsa.ppk. Pour cela :
Connectez-vous laide de WinSCP votre serveur SSH
Rcuprez le fichier id_rsa se trouvant dans /user/.ssh/ et copiez le sur votre ordinateur
Excutez Putty Key Generator (contenu dans WinSCP) :
o Conversions > Import key > fichier id_rsa
o Le mot de passe utilis lors de la gnration de la clef vous sera alors demand

Cliquez ensuite sur Save private key pour sauvegarder la clef prive sur votre ordinateur



5

2.3 Gnration des clefs sous Windows

2.3.1 Gnration du jeu de clefs

Excutez Putty Key Generator (contenu dans WinSCP)
Key > Generate key pair
Dplacez ensuite votre souris afin de gnrer alatoirement la clef

Une fois termin, indiquez un commentaire et le mot de passe associ la clef prive

Cliquez sur Save public key pour sauvegarder la clef publique. Il faudra par la suite copier
cette clef dans le fichier ~/.ssh/authoriz_keys (point 2.3.2)
Cliquez sur Save private key pour sauvegarder la clef prive sur votre ordinateur

2.3.2 Exporter sous Linux

Il est maintenant ncessaire dexporter la clef publique sur le serveur SSH. Pour cela :

6

Connectez-vous votre serveur via WinSCP
Crez le dossier ~/.ssh/
mkdir ~/.ssh/
Copiez la clef publique dans ce dossier

2.3.3 Autorisation de la clef publique

Ajoutez ensuite la clef publique dans le fichier authoriz_keys. Pour cela, excutez la commande
suivante :
cat id_rsa.ppk >> ~/.ssh/authorized_keys

3. Connexion par certificat

Pour vous connecter avec le certificat cr, suivez comme suit :
Ouvrez Putty > Connection > SSH > Auth
Cliquez sur Browse et indiquez lemplacement du fichier de clef prive
Cliquez ensuite sur Open pour lancer la connexion

Attention, vous devez vous connecter avec lutilisateur pour lequel le jeu de clefs a t cr




7

4. Scurisation du serveur SSH

Votre serveur SSH est dornavant oprationnel. Il est toutefois ncessaire de modifier certains
paramtres pour le scuriser.

4.1 Dsactivation de la connexion par mot de passe

Vous avez actuellement le choix entre une connexion par login et mot de passe ou bien par
certificat et son mot de passe associ. Pour des raisons de scurit, il est judicieux de dsactiver la
connexion avec login pour ne permettre que la connexion par certificat. Pour cela ;

Editez le fichier de configuration SSH :
nano /etc/ssh/sshd_config
Modifiez les paramtres suivants :
PasswordAuthentication no
UsePAM no
ChallengeResponseAuthentication no
PasswordAuthentication no
Redmarrez le daemon SSH :
/etc/init.d/sshd restart

Une autre alternative est dditer le fichier passw dans /etc/. Pour cela il suffit de remplacer la
valeur x par * pour lutilisateur souhait.

4.2 Restrictions des IP selon lutilisateur

Il est possible de restreindre les connexions SSH selon lIP source de lutilisateur ainsi que son login.
On peut par exemple autoriser les connexions root seulement depuis une IP ou une plage dIP
particulire.

Pour cela il faut activer un module PAM :
Editez le module PAM pour SSH :
nano /etc/pam.d/sshd
Ajoutez le paramtre suivant afin dactiver le contrle daccs :
account required pam_access.so

Le module PAM pour SSH est maintenant activ. Ensuite :
Editez le fichier contenant les couples IP/utilisateur :
nano /etc/security/access.conf
Modifiez le fichier votre guise. Lexemple ci-dessous autorise les connexions root que
depuis les IP 192.168.2.10/11. En revanche, il autorise la connexion via toto depuis toutes
les IP :

8


Pour terminer, il faut modifier votre fichier de configuration SSH pour quil prenne en compte les
modules PAM et quil accepte les connexions en root :

Editez le fichier de configuration SSH :
nano /etc/ssh/sshd_config
Modifiez les paramtres suivants :
UsePAM yes
PermitRootLogin yes
Redmarrage du daemon SSH :
/etc/init.d/sshd restart










9

5. X-Server

Il est possible de dporter linterface graphique dune application installe sur votre serveur SSH
afin den avoir le rendu directement sur votre poste client. Pour commencer, tlchargez et
installez le logiciel Xming sur votre ordinateur.

5.1 Configuration de Putty

Activez ensuite le X11 forwarding sur votre client SSH. Pour cela :
Ouvrez Putty > Connection > SSH > X11
Cochez la case Enable X11 forwarding

Allez dans Terminal > Keyboard
Choisissez loption Linux

Allez ensuite dans Windows > Translation

10

Choisissez UTF-8

Cliquez ensuite sur Open pour lancer la connexion

5.2 Lancement dune application

Pour lancer une application en Xserver :
Vrifiez que Xming sexcute bien en arrire-plan
Connectez-vous en SSH votre serveur
Dans votre console SSH, tapez le nom de lapplication suivi du signe esperluette &
o Exemple : iceweasel&

PS : sous Debian, Firefox a t renomm en Iceweasel



11

6. Tunnel SSH

Il est possible de crer un tunnel SSH pour y faire transiter tout le trafic dune application (un peu
comme un VPN). Cette action est ralise laide dun socket sur ladresse localhost (127.0.0.1).
Nous allons donc crer un socket pour y faire transiter tout le trafic de Firefox.

6.1 Cration dun tunnel

Pour configurer un tunnel, suivez comme suit :
Ouvrez Putty > Connection > SSH > Tunnel
Dans Source port, ajoutez un numro de port alatoire (>1024)
Slectionnez loption Dynamic et cliquez sur Add
o Si jamais vous souhaitez vous connecter une machine (en bureau distance par
exemple), choisissez loption Local et indiquez en Destination lIP et le port de la
machine (ex : 192.168.22:3389). Noubliez pas de renseigner un Source port
alatoire
o Si en revanche vous souhaitez crer un tunnel SSH pour sortir internet, choisisez
loption Dynamic, ne renseignez pas de Destination et rendez vous au point 6.2
pour configurer votre navigateur. Noubliez pas de renseigner un Source port
alatoire



12

6.2 Configuration du socket dans Firefox

Dans Firefox, allez dans Outils > Options > Avanc > Rseau > Paramtres

Dans Hte SOCKS, indiquez le port du point prcdent ainsi que ladresse 127.0.0.1

6.3 Requte DNS

Par dfaut les requtes DNS ne transitent pas via le tunnel SSH. Par consquent si un systme de
filtrage web (OpenDNS) est en place, il y a de fortes chances que les requtes DNS soient bloques.
Pour faire alors transiter ces requtes via notre tunnel, il est ncessaire de modifier une valeur dans
les options avances de Firefox. Pour cela :
Dans la barre dadresses, tapez about:config
Recherchez la valeur network.proxy.socks_remote_dns

Passez ensuite la valeur TRUE




13

7. Outils et logiciels

7.1 Putty

Putty est lutilitaire par excellence pour se connecter un serveur SSH.

7.2 Kitty

Kitty est une srieuse alternative Putty. En effet, en plus dune interface plus are, il sauvegarde
les configurations de vos connexions dans des fichiers (au lieu du registre). Vous pouvez donc
aisment transporter vos paramtres sur une clef USB.

7.3 Putty Connection Manager

Putty Connection Manager est un utilitaire vous permettant douvrir plusieurs consoles SSH au sein
dune mme fentre. En plus de cela, il est possible de crer une base de donnes chiffre pour y
stocker vos paramtres (ncessite lajout dune DLL supplmentaire).


Page ici et tlchargement ici . Attention le projet nest apparemment plus support.



14

7.4 mRemoteNG

RemoteNG est une autre alternative Putty Connection Manager. Tlchargement et informations
ici.

7.5 Gate One : client SSH en HTML5

Gate One est un projet rcent permettant de se connecter en SSH depuis votre navigateur, et sans
lajout de plugins. Plus dinformations ici.


15

7.6 FireSSH

FireSSH est un plugin pour Firefox incluant un client SSH complet. Il est tlchargeable ici. De plus, il
est capable de stocker les profils afin de faciliter leur accs ultrieurement.




16

8. Divers

8.1 Journaux dvnements

Pour afficher les logs des connexions, excutez la commande suivante :
tail -f /var/log/auth.log

8.2 Activation du routage

Voir si le routage est activ (0 : dsactiv, 1 : activ) :
sysctl net.ipv4.ip_forward

Activer le routage temporairement :
sysctl -w net.ipv4.ip_forward=1

Activer le routage permanent :
nano /etc/sysctl.conf
net.ipv4.ip_forwarding=1








Nhsitez pas menvoyer vos commentaires ou retours ladresse suivante :
m. decrevoisier A-R-0-B-A-5 outlook . com



Soyez-en dores et dj remerci