documentation/procédures/acces_vm.md

2.7 KiB

Accès aux machines virtuelles de l'infrastructure

Via SSH

Configuration SSH serveur

En règle générale, l'accès aux machines virtuelles ne se fait pas directement. Il faut passer par une machine physique.

Pour qu'une nouvelle personne puisse accéder à des machines, il faut :

  • Sur la machine physique hypervisant la machine, ajouter la clé publique (ssh) de la nouvelle personne dans /home/cominfra/.ssh/authorized_keys

  • Sur chaque machine virtuelle concernée, ajouter la clé publique (ssh) de la nouvelle personne dans /home/admin666/.ssh/authorized_keys

Notes :

  • en IPV6, bien qu'en règle générale la connexion directe soit désactivée, elle peut être autorisée au cas par cas.
  • penser à remplacer machine_physique par un nom de machine physique existante de l'infrastructure de Libre en Communs
  • penser à remplacer le user dans machine_physique-proxy.libre-en-communs.org par comchalec

Configuration SSH client (dans ~/.ssh/config)

Une personne souhaitant se connecter à une machine virtuelle doit configurer son client SSH, généralement dans le fichier ~/.ssh/config.

La configuration met en jeu un proxy, obligatoire pour IPv4 (en raison du partage d'adresse IP et du port unique) et servant de sécurité supplémentaire avec IPv6. Le proxy peut être n'importe quelle machine physique de l'infrastructure, le mieux étant d'utiliser la machine qui hypervise la machine virtuelle visée, mais ce n'est pas nécessaire. Une machine d'un site différent peut aussi être utilisée (mais cela ajoute de la latence).

La configuration suivante permet l'accès à toute machine virtuelle des domaines a-lec.org et chalec.org :

host <machine_physique>-proxy.libre-en-communs.org  
    Hostname <machine_physique>.libre-en-communs.org
    User cominfra  
    Port <port>
    SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL

host *.a-lec.org  
    User admin666  
    Port 22  
    ProxyJump <machine_physique>-proxy.libre-en-communs.org  
    SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL  

host *.chalec.org  
    User admin666  
    Port 22  
    ProxyJump <machine_physique>-proxy.libre-en-communs.org  
    SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL  

Pour fixer les variables Git directement dans la conf, il est possibe d'ajouter un SetEnv avant SendEnv :

SetEnv GIT_AUTHOR_NAME="<nom>" GIT_AUTHOR_EMAIL="<courriel>"

Procédure de connexion avec config dans ~/.ssh/config

Il suffit d'utiliser ssh <nom de vm> pour accéder à la machine virtuelle.

Procédure de connexion sans config

Il est également possible d'utiliser :

ssh -i 'CLE_PRIV' -J cominfra@machine_physique.libre-en-communs.org:<port> admin666@<nom de vm> -p 22