79 lines
2.2 KiB
Markdown
79 lines
2.2 KiB
Markdown
## Chapitre 0.1
|
|
|
|
Dernier atelier de mise à niveau avant Ansible
|
|
|
|
LXD : hyperviseur de conteneurs LXC
|
|
LXC : technologie de conteneurisation
|
|
|
|
### LXD
|
|
|
|
#### Entrer dans un conteneur LXC
|
|
|
|
- En root : `lxc exec <ct> /bin/bash`
|
|
- En user : `lxc exex test --sudo --user <user> --login`
|
|
|
|
#### Demo Bastion ssh et rappel
|
|
|
|
**Rappel :**
|
|
|
|
Génération d'un couple clé publique clé privée ssh :`ssh-keygen -t ed25519`
|
|
|
|
la clé en `.pub` contient la clé publique à déposer sur les conteneur. On ne touche pas à l'autre elle est confidentielle.
|
|
|
|
**Création et configuration du conteneur bastion :**
|
|
|
|
```
|
|
lxc launch images:debian/buster bastion
|
|
lxc exec bastion /bin/bash
|
|
apt-get update
|
|
apt-get install -y openssh-server
|
|
echo "ssh_pubkey" >> ~/.ssh/authorized_keys
|
|
```
|
|
|
|
On doit pouvoir se connecter en ssh depuis notre ordinateur au conteneur bastion mais pas au conteneur test
|
|
|
|
Sur notre conteneur test (voir 0.0) on configure ssh pour que seul le bastion puisse y accéder (plus tard on ferra ça avec un pare-feu).
|
|
|
|
```
|
|
PermitRootLogin no
|
|
|
|
Match Address ipConteneurTest
|
|
PermitRootLogin without-password
|
|
```
|
|
|
|
Puis on dépose notre clé ssh et on restart sshd
|
|
```
|
|
echo "ssh_pubkey" >> ~/.ssh/authorized_keys
|
|
systemctl restart sshd
|
|
```
|
|
|
|
Normalement il n'est plus possible de se connecter au conteneur test depuis notre ordinatateur. Il est accessible uniquement depuis le bastion.
|
|
|
|
**Point réseau :**
|
|
|
|
- L'adresse `0.0.0.0` représente l'adresse wildcard en IPv4.
|
|
|
|
**Sur notre ordinateur :**
|
|
|
|
~/.ssh/config
|
|
```
|
|
Host bastion
|
|
Hostname ipConteneurBastion
|
|
User root
|
|
|
|
Host test1
|
|
Hostname ipConteneurTest # Correspond à l'ip à laquelle test1 est accessible depuis test (le bastion)
|
|
User root
|
|
ProxyJump bastion
|
|
```
|
|
|
|
**Ce qui change dans la "vrai vie" :**
|
|
|
|
- On ne se connecte jamais via mot de passe
|
|
- On évite au maximum de se connecter en root, même à un conteneur accessible que à travers le bastion.
|
|
- C'est le pare-feu qui nous empêche de nous connecteur aux conteneurs "backend" (le conteneur test dans notre cas) et non une config sshd.
|
|
|
|
----
|
|
|
|
Il est possible de partager son serveur X avec un conteneur LXC, cela peut permettre de faire tourner un service dans un conteneur et de l'utiliser sur ça machine hôte.
|