documentation/Procédures/acces_vm.md

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

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