Outils d'utilisateurs

Outils du Site


ssh_configuration

Ceci est une ancienne révision du document !


Configuration de base du serveur

Une fois le serveur OpenSSH installé, ouvrez le fichier /etc/ssh/sshd_config et décommentez les lignes suivantes :

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

Redémarrez le serveur via la commande suivante :

Utilisateur$ /etc/init.d/ssh restart

Génération et positionnement des clefs sous Linux & Mac

Commencez par lancer la génération via la commande suivante :

Utilisateur$ ssh-keygen -t rsa -b 4096

Laissez le répertoire d'enregistrement des clefs par défaut :

Generating public/private rsa key pair.
Enter file in which to save the key (/home/test/.ssh/id_rsa): (Laissez par défaut et pressez Entrée)

Choisissez ensuite si vous désirez indiquer une phrase de passe pour votre clef.

Il s'agit là de faire un choix entre sécurité et simplicité : si vous ne choisissez pas de mot de passe, en cas de vol de votre clef privé, la personne aura un accès direct à vos serveurs, cependant entrer la phrase de passe à chaque fois peut s'avérer ennuyeux.

Ici nous choisirons de ne pas indiquer de mot de passe :

Created directory ‘/home/test/.ssh’.
Enter passphrase (empty for no passphrase): (Laissez par défaut et pressez Entrée)
Enter same passphrase again: (Laissez par défaut et pressez Entrée)
our identification has been saved in /home/Utilisateur/.ssh/id_rsa.
Your public key has been saved in /home/Utilisateur/.ssh/id_rsa.pub.
The key fingerprint is:
95:05:13:a1:a4:71:27:fe:a0:2f:d7:4e:af:82:8a:a8 Utilisateur@serveur.com
The key’s randomart image is:
+–[ RSA 4096]—-+
| . + *+.      |
| * + +        |
| . + o        |
| . +          |
| . S .        |
| . .          |
| ..o o        |
| . . .o.o .   |
|E . .. .o..   |
+————-----—–---+

Envoyez votre clef publique sur le serveur OpenSSH:

Utilisateur$ scp ~/.ssh/id_rsa.pub Utilisateur@serveur.com:~/clefPublique

Entrez ensuite cette clef dans le fichier authorize_keys sur le serveur OpenSSH:

Utilisateur$ touch ~/.ssh/authorized_keys
Utilisateur$ cat clefPublique >> ~/.ssh/authorized_keys

Génération et positionnement des clefs sous Windows avec PuttyGen et WinSCP

Commencez par télécharger PuttyGen ici, il s'agit de l'outil de génération de clef.

Lancez PuttyGen et générez une clef de type SSH2-RSA et d'une taille de 4096 bits, puis enregistrez les deux clefs où vous le souhaitez (Mes Documents par exemple)

Téléchargez WinSCP ici, puis installez le.

Envoyez la clef publique générée sur le serveur OpenSSH, placez la dans le répertoire home de l'utilisateur sur lequel se connecter. Le client WinSCP fonctionne comme la majorité des clients FTP graphique connus, je ne vais donc pas détailler son utilisation.

Entrez ensuite cette clef dans le fichier authorize_keys sur le serveur OpenSSH:

Utilisateur$ ssh-keygen -i -g ~/clefPublique > ~/clefPubliqueOpenSSH
Utilisateur$ touch ~/.ssh/authorized_keys
Utilisateur$ cat clefPubliqueOpenSSH >> ~/.ssh/authorized_keys

Conversion d'une clé Windows pour Linux

Lancez PuttyGen, cliquez sur “Load”, Sélectionnez votre clé privée précédemment générée pour Windows. Cliquez sur l'onglet “Conversion”, cliquez sur “Export Openssh key”. Nommez la clé nomdelaclé.ssh

Connexion via les clients Linux & Mac

Vous pouvez vous connecter tout simplement ainsi:

Utilisateur$ ssh Utilisateur@serveur.com

Vous n'êtes désormais plus prompté pour votre mot de passe.

Connexion sous Windows via Putty

Lancez PuttySSH, allez dans Connections/SSH/Auth et cliquez sur “Browse”, puis choisissez votre clef privée.

Allez ensuite dans Session puis indiquez l’adresse du serveur, et cliquez sur Open.

Vous voila connecté.

Suppression de la connexion par mot de passe sur le serveur

Sur le serveur OpenSSH, ouvrez de nouveau le fichier /etc/ssh/sshd_config et indiquez que vous n’autorisez plus la connexion par mot de passe :

PasswordAuthentication no

Redémarrez enfin le serveur OpenSSH:

Utilisateur$ /etc/init.d/ssh restart

Vous avez terminé, attention cependant à ne pas perdre votre clef privée.

Administration

Le terminal freeze régulièrement

Si la connexion freeze après un certain temps d'inactivité, ajoutez les deux lignes suivantes au fichier de configuration du serveur SSH. Les valeurs peuvent être ajustée.

ClientAliveInterval 5
ClientAliveCountMax 2

Les restrictions d'accès

#Authoriser l'accès seulement à: utilisateur1 utilisateur2
AllowUsers utilisateur1 utilisateur2

#Authoriser l'accès seulement aux groupes d'utilisateurs: groupe1 groupe2
AllowGroups groupe1 groupe2

#Interdire l'accès en direct au compte root
PermitRootLogin no

Changer une passphrase

Le programme ssh-keygen permet de changer la passphrase associée à un couple clef privée/publique :

utilisateur $ ssh-keygen -p [--P old_passphrase] [-N new_passphrase] -f keyfile

Si (old|new)_passphrase ne sont pas donnée, ils seront demandés à l'utilisateur par un prompt.

Ajouter un utilisateur

Lorsque vous êtes l'administrateur de la machine et qu'elle est déjà configurée pour n'accepter que les passphrases, l'utilisation de ssh-copy-id n'est pas possible pour ajouter une clef à un autre utilisateur. En utilisant un compte disposant de suffisemment de droits, il est possible d'utiliser :

cat id_xxx.pub | ssh admin_user@domain "cat - >> /home/new_ssh_user/.ssh/authorized_keys"

Révoquer une clef compromise

sshd_config propose une option RevokedKeys file. TODO

ssh_configuration.1389709359.txt.gz · Dernière modification: 2017/04/09 15:33 (modification externe)