# Procedure - Ajouter un nouveau VPS (SSH)

Date de reference: 2026-04-07

## 1) Preparation locale (Windows)

1. Creer le dossier SSH local si absent:
`New-Item -ItemType Directory -Force $env:USERPROFILE\.ssh`

2. Generer une cle dediee VPS:
`ssh-keygen -t ed25519 -C "vps-deploy" -f $env:USERPROFILE\.ssh\vps_deploy_key`

3. Lire la cle publique:
`Get-Content $env:USERPROFILE\.ssh\vps_deploy_key.pub`

## 2) Installer la cle sur le VPS

1. Se connecter au VPS avec mot de passe (premiere fois):
`ssh <user>@<ip_vps>`

2. Sur le VPS, preparer le dossier SSH:
`mkdir -p ~/.ssh`
`chmod 700 ~/.ssh`

3. Ajouter la cle publique (une ligne complete):
`echo "ssh-ed25519 ... vps-deploy" >> ~/.ssh/authorized_keys`
`chmod 600 ~/.ssh/authorized_keys`

## 3) Tester la connexion par cle

Depuis Windows:
`ssh -i $env:USERPROFILE\.ssh\vps_deploy_key <user>@<ip_vps>`

## 4) Test operationnel minimal

Creer un dossier distant:
`ssh -i $env:USERPROFILE\.ssh\vps_deploy_key <user>@<ip_vps> "mkdir -p ~/test_codex_deploy && ls -ld ~/test_codex_deploy"`

## 5) Durcissement recommande

- Desactiver l'authentification par mot de passe apres validation de la cle.
- Utiliser une cle dediee par environnement (dev/staging/prod).
- Documenter user + IP + chemin de cle dans une fiche VPS separee.

## 6) Note importante - Contrainte sandbox Codex

- Si une commande SSH/SCP echoue avec un message proche de:
  - `Identity file ... not accessible: Permission denied`
- Cause probable:
  - la session est en sandbox et ne peut pas lire la cle locale dans
    `C:\Users\<user>\.ssh\...`.
- Action:
  - relancer la commande en mode `require_escalated` (hors sandbox) pour
    autoriser l'acces a la cle locale.
- Exemple observe le 2026-04-07:
  - creation du dossier `/root/test` sur `46.202.173.47` reussie uniquement
    apres escalation.
