## 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