documentation/Procédures/acces_vm.md

115 lines
3.8 KiB
Markdown
Raw Normal View History

2021-12-05 18:23:10 +01:00
## Accès aux machines virtuelles de Chalec
### Configuration SSH côté infra
En règle générale, l'accès aux machines virtuelles ne se fait pas directement. Il faut passer par `mother` ou `aunt`.
Pour qu'un nouvel administrateur puisse accéder à des machines, il faut :
- Sur `mother` ou `aunt`, ajouter la clé publique (ssh) du nouvel admin dans `/home/comchalec/.ssh/authorized_keys`
- Sur chaque machine virtuelle concernée, ajouter la clé publique (ssh) du nouvel admin dans `/home/admin666/.ssh/authorized_keys`
Note : en IPV6, la connexion directe peut être possible. A voir au cas par cas.
2021-12-05 18:27:15 +01:00
A noter également : les administrateurs d'infrastructure peuvent également accéder aux machines Chalec (si leur clé privée est présente dans lesdites machines) via l'utilisateur cominfra.
2021-12-05 18:31:54 +01:00
**Attention** : les noms de machines virtuelles de Chalec contiennent ".chalec.org" en suffixe.
2021-12-05 18:23:10 +01:00
### Configuration SSH client
Soit en passant par `mother`
host mother.libre-en-communs.org
User comchalec
Port 222
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
2021-12-08 22:54:54 +01:00
host *.chalec.org
2021-12-05 18:23:10 +01:00
User admin666
Port 22
ProxyJump mother.libre-en-communs.org
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
Ou bien en passant par `aunt`
host aunt.libre-en-communs.org
User comchalec
Port 223
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
2021-12-08 22:54:54 +01:00
host *.chalec.org
2021-12-05 18:23:10 +01:00
User admin666
Port 22
2021-12-08 22:54:54 +01:00
ProxyJump mother.libre-en-communs.org
2021-12-05 18:23:10 +01:00
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
Note : avoir les deux configurations peut être utile en cas de panne de l'un ou l'autre des serveurs.
### Procédure de connexion avec config dans ~/.ssh/config
2021-12-05 18:31:54 +01:00
Le nouvel admin n'a plus qu'à utiliser `ssh NOM_DE_VM` pour accéder à la machine virtuelle
2021-12-05 18:23:10 +01:00
### Procédure de connexion sans config
Le nouvel admin peut utiliser au choix :
2021-12-05 18:31:54 +01:00
- `ssh -J comchalec@mother.libre-en-communs.org:222 admin666@NOM_DE_VM:22`
2021-12-05 18:23:10 +01:00
- `ssh -J comchalec@aunt.libre-en-communs.org:223 admin666@NOM_DE_VM:22`
### Configuration par machine avec config dans ~/.ssh/config
Cette configuration prend en compte une authentification avec deux fichiers clef dédiés pour le chalec, mais le nombre de clef peut être modulé à volonté. (Bien sur votre administrateur favori ne sera pas content de devoir déployer des clefs par milliers)
Cette configuration permet également d'avoir de l'autocompletion dans le terminal et de se retrouver avec des commandes de connexion de ce type : 
```bash
ssh chalec-service-un
```
Sachant que chalec-service-un est un choix a la discretion de l'utilisateur, tant que c'est cohérent avec le fichiers de configuration.
# Définition du proxy principal
host mother.libre-en-communs.org
User comchalec
Port 222
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
# Fichiers de clef
IdentityFile ~/.ssh/chalec-ed25519
# Définition du proxy secondaire
host aunt.libre-en-communs.org
User comchalec
Port 223
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
# Fichiers de clef
IdentityFile ~/.ssh/chalec-ed25519
# Définition du service un sur une première machine
host chalec-service-un
User admin666
Port 22
ProxyJump mother.libre-en-communs.org
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
# Nom de domaine ou ip de la machine a joindre
HostName serviceun.chalec.org
# Fichiers de clef spécifique
IdentityFile ~/.ssh/chalec-serviceun-ed25519
# Définition du service deux sur une seconde machine
host chalec-service-deux
User admin666
Port 22
ProxyJump mother.libre-en-communs.org
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
# Nom de domaine ou ip de la machine a joindre
HostName servicedeux.chalec.org
# Fichiers de clef spécifique
IdentityFile ~/.ssh/chalec-servicedeux-ed25519