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