Aller au contenu

Accès et identités

Matrice d'accès

Cible Méthode Autorité Secret conservé où
VPS OVH SSH par clé Clé publique dans authorized_keys Clé privée uniquement sur le poste opérateur
Kubernetes kubeconfig local Certificat client K3s Fichier local, jamais dans Git
GitHub Compte GitHub GitHub + MFA recommandé Gestionnaire d'identifiants du poste
Git par Flux Clé de déploiement SSH Deploy key du dépôt Secret flux-system dans Kubernetes
Interfaces techniques (Grafana, maintenance, portail admin) GitHub OAuth OAuth2 Proxy Secrets Kubernetes hors Git
Stirling-PDF Google OAuth OAuth2 Proxy dédié Secret Kubernetes hors Git
OVH / Cloudflare Compte fournisseur Fournisseur + MFA Gestionnaire de mots de passe

SSH vers les VPS

Utiliser des alias dans %USERPROFILE%\.ssh\config afin d'éviter les erreurs d'adresse :

Host homelab-gra-primary
  HostName 213.32.65.236
  User <utilisateur-administrateur>
  IdentityFile ~/.ssh/<cle-privee>

Host homelab-sbg
  HostName 152.228.237.203
  User <utilisateur-administrateur>
  IdentityFile ~/.ssh/<cle-privee>

Host homelab-gra-secondary
  HostName 51.254.130.191
  User <utilisateur-administrateur>
  IdentityFile ~/.ssh/<cle-privee>

Ne jamais copier la clé privée sur un VPS. Après rotation, tester une seconde session avant de retirer l'ancienne clé publique.

Accès Kubernetes local

Le contexte attendu est ovh-primary :

kubectl config current-context
kubectl config get-contexts
kubectl --context ovh-primary get nodes
k9s --context ovh-primary

Le serveur du kubeconfig doit être joignable depuis le poste. Protéger le fichier avec les ACL Windows et ne jamais l'envoyer par mail ou le committer.

Contrôles et rotation

  • Activer la MFA sur GitHub, OVH et Cloudflare.
  • Révoquer immédiatement une clé perdue ou un ancien poste.
  • Renouveler les secrets OAuth en mettant à jour le Secret Kubernetes hors Git.
  • Vérifier les accès Git Flux après toute rotation de deploy key.
  • Conserver au moins un accès de secours via la console OVH avant une modification SSH/UFW.

Diagnostic

ssh -vv homelab-gra-primary
kubectl auth can-i get pods --all-namespaces
kubectl -n flux-system get gitrepository flux-system
kubectl -n flux-system describe gitrepository flux-system