solution
This commit is contained in:
71
Readme.md
71
Readme.md
@@ -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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user