diff --git a/Readme.md b/Readme.md index 8f99db6..7cadce8 100644 --- a/Readme.md +++ b/Readme.md @@ -1,39 +1,46 @@ -## Sur votre windows dans un terminal -```bash -ssh-keygen -scp -P #machine .ssh\.id_rsa.pub root@formation.opendoor.fr: -``` +# TP SSH -## Sur le container connecté en tant qu'utilisateur root +## Objectif -```bash -useradd -d -m /home/formation -G wheel formation -echo '123Soleil2020!!' | passwd --stdin formation -cd ~formation -mkdir -pm 0700 .ssh -cat id_rsa.pub >> .ssh/authorized_keys -curl https://infra.opendoor.fr/id_rsa.pub >> .ssh/authorized_keys -chmod 600 .ssh/authorized_keys -chown -R formation ~formation/.ssh +Renforcer la sécurité des accès -cd ~root -mkdir -pm 0700 .ssh -cat id_rsa.pub >> .ssh/authorized_keys -curl https://infra.opendoor.fr/id_rsa.pub >> .ssh/authorized_keys -chmod 600 .ssh/authorized_keys +## Prérequis: -vim /etc/ssh/sshd_config -``` +Le compte formation doit avoir été créé (tp prise en main) et disposer d'un mot de passe -```bash -... -PermitRootLogin no -PasswordAuthentication no -... -Match Address 100.0.0.1 - PermitRootLogin without-password -Match All -systemctl restart sshd +## Authentification par clé -``` +On va faire en sorte que la connexion ssh en tant qu'utilisateur formation +se fasse par clé publique et non pas par mot de passe. + +_sur votre machine_: utiliser la commande ssh-keygen (ou le programme puttygen) si votre windows n'est pas équipé d'un client ssh natif pour générer une paire de clé publique / clé privée. + +_sur le container_: il faut rajouter la clé publique (le contenu du fichier id_rsa.pub se trouvant sur *votre* machine) dans le fichier *~formation/.ssh/authorized_keys* + +Il sera peut-être nécessaire de créer le répertoire ~formation/.ssh + +Attention au permissions: ce répertoire doit appartenir à formation et avoir les permissions 700 le fichier authorized_keys doit appartenir à formation et avoir les permissions 600 + +### Validation: + +Garder votre connexion ssh active. + +Ouvrez une nouvelle connexion ssh: on doit vous demander la passphrase protégeant votre clé privée, si vous en avez définie une. + +Si on vous demande un mot de passe de connexion vous avez raté une étape. + + +## Renforcer la sécurité de ssh + +Une fois que l'authentification par clé fonctionne, modifiez la configuration du serveur ssh ( fichier /etc/ssh/sshd_config, page de man sshd_config) pour: + + * Directive PermitRootLogin: n'autoriser que les connexions en root sans mot de passe. + * Directives AllowGroups et AllowUser: n'autoriser que les membres des groupes et root wheel à se connecter ET l'utilisateur root depuis l'adresse 100.0.0.1 + * Directives PasswordAuthentication: interdir l'authentification par mot de passe + +### Validation: + +Vous devez toujours pouvoir vous connecter en tant qu'utilisateur formation + +La connexion en root doit être refusée \ No newline at end of file