documentation/Procédures/acces_vm.md

115 lines
3.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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.
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.
**Attention** : les noms de machines virtuelles de Chalec contiennent ".chalec.org" en suffixe.
### 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
host *.chalec.org
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
host *.chalec.org
User admin666
Port 22
ProxyJump mother.libre-en-communs.org
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
Le nouvel admin n'a plus qu'à utiliser `ssh NOM_DE_VM` pour accéder à la machine virtuelle
### Procédure de connexion sans config
Le nouvel admin peut utiliser au choix :
- `ssh -J comchalec@mother.libre-en-communs.org:222 admin666@NOM_DE_VM:22`
- `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