init-keys.ps1 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # init-keys.ps1
  2. # Lance ce script UNE FOIS avant le premier "docker compose up --build"
  3. # Il génère les deux paires de clés nécessaires au lab.
  4. $ErrorActionPreference = "Stop"
  5. $keysDir = Join-Path $PSScriptRoot "keys"
  6. if (-not (Test-Path $keysDir)) {
  7. New-Item -ItemType Directory -Path $keysDir | Out-Null
  8. }
  9. # ── Clé 1 : lab_rsa (Windows → gateway) ──────────────────────────────────
  10. $labKey = Join-Path $keysDir "lab_rsa"
  11. if (-not (Test-Path $labKey)) {
  12. Write-Host "Génération de la clé Windows → gateway (lab_rsa)..."
  13. ssh-keygen -t ed25519 -f $labKey -C "sshproxy-lab-client"
  14. Write-Host " OK : $labKey"
  15. } else {
  16. Write-Host " lab_rsa existe déjà, on garde."
  17. }
  18. # Copie aussi dans ~/.ssh pour pouvoir faire ssh sans -i
  19. $sshDir = Join-Path $env:USERPROFILE ".ssh"
  20. if (-not (Test-Path $sshDir)) { New-Item -ItemType Directory -Path $sshDir | Out-Null }
  21. Copy-Item $labKey (Join-Path $sshDir "lab_rsa") -Force
  22. Copy-Item "$labKey.pub" (Join-Path $sshDir "lab_rsa.pub") -Force
  23. Write-Host " Clé copiée dans $sshDir"
  24. # ── Clé 2 : gateway_rsa (gateway → dest1/dest2) ──────────────────────────
  25. $gwKey = Join-Path $keysDir "gateway_rsa"
  26. if (-not (Test-Path $gwKey)) {
  27. Write-Host "Génération de la clé gateway → dest (gateway_rsa)..."
  28. ssh-keygen -t ed25519 -f $gwKey -C "sshproxy-gateway-internal"
  29. Write-Host " OK : $gwKey"
  30. } else {
  31. Write-Host " gateway_rsa existe déjà, on garde."
  32. }
  33. Write-Host ""
  34. Write-Host "=== Clés prêtes. Lance maintenant : ==="
  35. Write-Host " docker compose up --build -d"
  36. Write-Host ""
  37. Write-Host "=== Pour te connecter : ==="
  38. Write-Host " ssh -i `"$((Join-Path $env:USERPROFILE '.ssh\lab_rsa'))`" -p 2222 testuser@localhost"