sdk_client/docs/SSH_SETUP.md

3.5 KiB

Configuration SSH automatique pour ihm_client

Vue d'ensemble

Le projet ihm_client utilise automatiquement les clés SSH pour toutes les opérations Git, que ce soit en local ou dans l'environnement CI/CD Gitea Actions.

Configuration automatique

Environnement CI/CD

Dans l'environnement CI/CD Gitea Actions, la configuration SSH est automatique :

  1. Variable d'environnement : La clé SSH privée est fournie via la variable SSH_PRIVATE_KEY
  2. Configuration automatique : Le workflow CI configure automatiquement SSH pour git.4nkweb.com
  3. Test de connexion : La connexion SSH est testée avant chaque opération Git

Environnement local

En local, le script scripts/setup-ssh-ci.sh configure automatiquement SSH :

# Exécuter le script de configuration
./scripts/setup-ssh-ci.sh

Configuration manuelle

Si la configuration automatique ne fonctionne pas, voici les étapes manuelles :

1. Générer une clé SSH

ssh-keygen -t rsa -b 4096 -C "votre-email@example.com"

2. Ajouter la clé publique à Gitea

  1. Copier le contenu de ~/.ssh/id_rsa.pub
  2. Aller dans les paramètres de votre compte Gitea
  3. Ajouter la clé SSH dans la section "SSH Keys"

3. Configurer Git pour utiliser SSH

git config --global url."git@git.4nkweb.com:".insteadOf "https://git.4nkweb.com/"

4. Tester la connexion

ssh -T git@git.4nkweb.com

Workflow CI/CD

Le workflow CI/CD (.gitea/workflows/ci.yml) inclut :

Étapes SSH automatiques

  1. Setup SSH for Gitea : Configure la clé SSH et les paramètres de connexion
  2. Checkout code : Utilise SSH pour cloner le repository
  3. Tests et build : Exécute les tests et builds avec SSH configuré

Variables requises

  • SSH_PRIVATE_KEY : Clé SSH privée pour l'authentification
  • SSH_PUBLIC_KEY : Clé SSH publique (optionnelle)

Sécurité

Bonnes pratiques

  • Les clés SSH sont stockées de manière sécurisée dans les secrets Gitea
  • Les permissions des fichiers SSH sont correctement configurées (600 pour les clés privées)
  • La vérification des hôtes SSH est configurée pour git.4nkweb.com

Permissions

# Permissions correctes pour les fichiers SSH
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/config

Dépannage

Problèmes courants

  1. Permission denied : Vérifier les permissions des fichiers SSH
  2. Host key verification failed : Ajouter git.4nkweb.com aux hôtes connus
  3. SSH key not found : Vérifier que la clé SSH est correctement configurée

Commandes de diagnostic

# Tester la connexion SSH
ssh -vT git@git.4nkweb.com

# Vérifier la configuration Git
git config --global --list | grep url

# Vérifier les permissions SSH
ls -la ~/.ssh/

Intégration avec 4NK_node

Lors de l'intégration avec 4NK_node, la configuration SSH est préservée :

  • Les clés SSH sont partagées entre les projets
  • La configuration Git utilise SSH pour tous les repositories 4NK
  • Le workflow CI/CD maintient la cohérence SSH

Évolution

Améliorations futures

  • Support pour plusieurs clés SSH
  • Rotation automatique des clés
  • Intégration avec un gestionnaire de secrets externe
  • Support pour l'authentification par certificats SSH

Maintenance

  • Vérification régulière de la validité des clés SSH
  • Mise à jour des configurations SSH selon les bonnes pratiques
  • Documentation des changements de configuration SSH