# 🔐 Connexion SSH sans mot de passe Ă  devSanbox > **Conteneur** : devSanbox (LXC) — IP `192.168.1.83` > **OS** : Ubuntu 24.04 LTS > **Utilisateur** : `devparsa` > **Date** : 2026-05-02 --- ## 📋 PrĂ©requis - Avoir accĂšs au rĂ©seau local `192.168.1.x` (mĂȘme VLAN que le Proxmox) - Pouvoir pinger le conteneur : `ping 192.168.1.83` - Avoir VS Code avec l'extension **Remote - SSH** installĂ©e --- ## đŸ–„ïž Partie 1 — GĂ©nĂ©rer une clĂ© SSH (si tu n'en as pas) ### Sur macOS ```bash # VĂ©rifier si tu as dĂ©jĂ  une clĂ© ls ~/.ssh/id_*.pub # Si vide → gĂ©nĂ©rer une clĂ© Ed25519 (recommandĂ©) ssh-keygen -t ed25519 -C "sepehr@devSanbox" -f ~/.ssh/id_devsanbox # Laisser la passphrase vide (ou mets-en une si tu veux) # → Appuie juste EntrĂ©e quand il demande la passphrase ``` ### Sur Windows (PowerShell / Git Bash) ```powershell # VĂ©rifier si tu as dĂ©jĂ  une clĂ© ls $env:USERPROFILE\.ssh\id_*.pub # Si vide → gĂ©nĂ©rer une clĂ© ssh-keygen -t ed25519 -C "sepehr@devSanbox" -f $env:USERPROFILE\.ssh\id_devsanbox # Laisser la passphrase vide ``` ### RĂ©sultat Tu dois avoir deux fichiers : - `~/.ssh/id_devsanbox` → clĂ© **privĂ©e** (ne jamais partager) - `~/.ssh/id_devsanbox.pub` → clĂ© **publique** (Ă  copier sur le serveur) --- ## đŸ–„ïž Partie 2 — Copier la clĂ© publique sur devSanbox ### MĂ©thode A : `ssh-copy-id` (le plus simple) ```bash # macOS / Linux ssh-copy-id -i ~/.ssh/id_devsanbox.pub devparsa@192.168.1.83 # Windows (PowerShell avec OpenSSH installĂ©) ssh-copy-id -i $env:USERPROFILE\.ssh\id_devsanbox.pub devparsa@192.168.1.83 ``` → Entre le password `devparsa` une derniĂšre fois. ### MĂ©thode B : Manuelle (si ssh-copy-id n'existe pas) ```bash # 1. Lire ta clĂ© publique cat ~/.ssh/id_devsanbox.pub # 2. Copier le contenu (commence par ssh-ed25519...) # 3. Te connecter au conteneur ssh devparsa@192.168.1.83 # 4. Coller la clĂ© dans authorized_keys mkdir -p ~/.ssh chmod 700 ~/.ssh echo "ssh-ed25519 AAAAC3... sepehr@devSanbox" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # 5. DĂ©connecte-toi et reconnecte-toi sans password exit ssh devparsa@192.168.1.83 ``` --- ## đŸ–„ïž Partie 3 — Configurer le fichier SSH config ### Sur macOS / Linux CrĂ©e/modifie `~/.ssh/config` : ```bash nano ~/.ssh/config ``` Ajoute : ```ssh # ============================================ # devSanbox — Conteneur de dĂ©veloppement # ============================================ Host devSanbox HostName 192.168.1.83 User devparsa Port 22 IdentityFile ~/.ssh/id_devsanbox IdentitiesOnly yes ServerAliveInterval 60 ServerAliveCountMax 3 # ForwardAgent yes # DĂ©commente si tu veux forwarder ta clĂ© SSH # Alias rapide Host ds HostName 192.168.1.83 User devparsa Port 22 IdentityFile ~/.ssh/id_devsanbox IdentitiesOnly yes ``` ### Sur Windows CrĂ©e/modifie `%USERPROFILE%\.ssh\config` : ```ssh Host devSanbox HostName 192.168.1.83 User devparsa Port 22 IdentityFile C:\Users\TON_USER\.ssh\id_devsanbox IdentitiesOnly yes ServerAliveInterval 60 ServerAliveCountMax 3 Host ds HostName 192.168.1.83 User devparsa Port 22 IdentityFile C:\Users\TON_USER\.ssh\id_devsanbox IdentitiesOnly yes ``` > **Remplace `TON_USER`** par ton vrai nom d'utilisateur Windows. --- ## đŸ–„ïž Partie 4 — Tester la connexion ```bash # Test simple ssh devSanbox # Ou avec l'alias court ssh ds # Si ça fonctionne → tu es connectĂ© sans password ! # Tu dois voir : devparsa@devSanbox:~$ ``` --- ## đŸ–„ïž Partie 5 — Connexion depuis VS Code ### 1. Installer l'extension - Ouvre VS Code - Extensions (Ctrl+Shift+X) - Cherche **"Remote - SSH"** de Microsoft - Installe ### 2. Se connecter - `Ctrl+Shift+P` → "Remote-SSH: Connect to Host..." - SĂ©lectionne `devSanbox` (ou tape `devSanbox`) - VS Code s'ouvre dans une nouvelle fenĂȘtre connectĂ©e au conteneur ### 3. Ouvrir le dossier projet - Une fois connectĂ© : `Ctrl+K Ctrl+O` (ou File → Open Folder) - Tape `/home/devparsa/dev/Momento` - Le projet s'ouvre avec toutes les fonctionnalitĂ©s VS Code ### 4. Terminal intĂ©grĂ© - `` Ctrl+` `` (backtick) → terminal directement sur devSanbox - Tu peux faire `git pull`, `npm install`, etc. --- ## đŸ–„ïž Partie 6 — Connexion depuis VS Code (mĂ©thode rapide) ### Fichier de config VS Code Dans VS Code connectĂ© Ă  devSanbox, crĂ©e `.vscode/settings.json` dans le projet : ```json { "terminal.integrated.defaultProfile.linux": "bash", "terminal.integrated.profiles.linux": { "bash": { "path": "/bin/bash", "args": ["-l"] } }, "files.exclude": { "**/.git": true, "**/node_modules": true } } ``` --- ## 🔧 DĂ©pannage ### ProblĂšme : "Permission denied (publickey)" ```bash # VĂ©rifier les permissions sur le conteneur ssh devparsa@192.168.1.83 ls -la ~/.ssh # Doit ĂȘtre : # drwx------ 2 devparsa devparsa .ssh # -rw------- 1 devparsa devparsa authorized_keys # Corriger si besoin chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` ### ProblĂšme : "Could not resolve hostname" ```bash # VĂ©rifier que le conteneur est en ligne ping 192.168.1.83 # Si pas de rĂ©ponse → vĂ©rifier sur Proxmox # ssh root@192.168.1.2 # pct status 101 # pct start 101 # si stopped ``` ### ProblĂšme : "Connection refused" ```bash # VĂ©rifier que SSH tourne sur le conteneur ssh root@192.168.1.2 pct exec 101 -- systemctl status ssh pct exec 101 -- systemctl start ssh # si inactif ``` ### ProblĂšme : ClĂ© pas reconnue sur Windows ```powershell # VĂ©rifier que le service ssh-agent tourne Get-Service ssh-agent Start-Service ssh-agent # Ajouter la clĂ© Ă  l'agent ssh-add $env:USERPROFILE\.ssh\id_devsanbox ``` --- ## 📝 RĂ©capitulatif des commandes rapides | Action | Commande | |--------|----------| | Connexion SSH | `ssh devSanbox` ou `ssh ds` | | Connexion VS Code | `Ctrl+Shift+P` → "Remote-SSH: Connect to Host" → `devSanbox` | | Ouvrir projet | `/home/devparsa/dev/Momento` | | VĂ©rifier status conteneur (depuis Proxmox) | `ssh root@192.168.1.2` puis `pct status 101` | --- ## 🔒 SĂ©curitĂ© - **Change le password** de devparsa : `passwd` (une fois connectĂ©) - **Ne partage jamais** ta clĂ© privĂ©e (`id_devsanbox`) - **Backup ta clĂ©** : copie `~/.ssh/id_devsanbox` et `~/.ssh/id_devsanbox.pub` sur une clĂ© USB sĂ©curisĂ©e - **Si tu perds ta clĂ©** : reconnecte-toi en password et refais l'Ă©tape 2 --- *Document gĂ©nĂ©rĂ© le 2026-05-02 — Conteneur devSanbox (192.168.1.83)*