This commit is contained in:
2022-06-28 11:41:49 +02:00
parent 61a36a11c0
commit c549d97884

View File

@@ -1,46 +1,39 @@
# TP SSH
## Sur votre windows dans un terminal
```bash
ssh-keygen
scp -P #machine .ssh\.id_rsa.pub root@formation.opendoor.fr:
```
## Objectif
## Sur le container connecté en tant qu'utilisateur root
Renforcer la sécurité des accès
```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
## Prérequis:
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
Le compte formation doit avoir été créé (tp prise en main) et disposer d'un mot de passe
vim /etc/ssh/sshd_config
```
```bash
...
PermitRootLogin no
PasswordAuthentication no
...
Match Address 100.0.0.1
PermitRootLogin without-password
Match All
## Authentification par clé
systemctl restart sshd
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
```