3.8 KiB
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
ouaunt
, 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 :
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