Skip to content

I. Prérequis

1. Starting blocks

Activez votre compte Azure for Students

  • en utilisant vos identifiants EFREI
  • c'est ICI
  • tu cliques sur le gros bouton vert et tu suis le guide Microsoft

Clique là

Docker installé sur votre poste

  • Linux/Mac should just work
  • Windows : faites une VM Linux, ou vous faites tout le TP avec WSL

N'installez PAS le Azure CLI az sur votre poste

Hint

J'ai un peu la flemme de lancer la commande docker à chaque fois.
Et jui obligé sur mon OS parce que az interactive ça marche que en Python 3.12 :( (kinda old) donc il se lance juste pas sur ma machine.
Donc j'ai fait un script que j'ai appelé az, j'l'ai rendu exécutable, et j'l'ai mis dans mon ~/.local/bin :

#!/bin/bash
# made by it4
# Simple wrapper for az-cli interactive in docker container

# Where to store pubkeys inside container
declare -r CT_PUBKEY_DIR='/tmp/ssh'

# Store public keys in a temp SSH dir so we don't mount private keys inside container
declare -r TEMP_SSH="$(mktemp -d)"
cp ~/.ssh/*.pub "${TEMP_SSH}"
chmod 755 "${TEMP_SSH}" -R

TTY_DOCKER_ARGS=''
if [[ -t 1 ]]; then
  TTY_DOCKER_ARGS='-it'
fi

# Run a non-root az-cli interactive container
docker run \
  -v "${TEMP_SSH}":"${CT_PUBKEY_DIR}" \
  -v az_login_volume:/home/nonroot \
  -u 65532 \
  ${TTY_DOCKER_ARGS} \
  --rm \
  mcr.microsoft.com/azure-cli \
  az "$@"
Comme ça j'ai juste à taper az et j'ai un shell az interactif qui se lance.
L'environnement est temporaire (avec --rm), il a pas de privilèges (avec -u 65532), et n'a que mes clés publiques nécessaires pour les déploiements (avec le -v).
Docker me permet de dire non au bloat de Microsoft. I like it.


Installer Terraform sur votre poste

Note

Pour les Windowsiens Je recommande de l'installer là où vous avez Docker étou.
Histoire de bosser dans le même environnement avec tous les outils.

Terraform

2. Une paire de clés SSH

On parle dans cette section uniquement de votre paire de clés à générer depuis votre poste, pour sécuriser vos connexions SSH

Ha et on va aussi configurer un Agent SSH.

ON VA BOSSER CORRECTEMENT QUOI 🌻

A. Choix de l'algorithme de chiffrement

🌞 Déterminer quel algorithme de chiffrement utiliser pour vos clés

  • vous n'utiliserez PAS RSA
  • donner une source fiable qui explique pourquoi on évite RSA désormais (pour les connexions SSH notamment)
  • donner une source fiable qui recommande un autre algorithme de chiffrement (pour les connexions SSH notamment)

B. Génération de votre paire de clés

🌞 Générer une paire de clés pour ce TP

  • la clé privée doit s'appeler cloud_tp1
  • elle doit se situer dans le dossier standard pour votre utilisateur
  • elle doit utiliser l'algorithme que vous avez choisi à l'étape précédente (donc, pas de RSA)
  • elle est protégée par un mot de passe de votre choix

C. Agent SSH

Afin de ne pas systématiquement saisir le mot de passe d'une clé à chaque fois qu'on l'utilise, parce que c'est très très chiant, on peut utiliser un Agent SSH.

Un programme qui tourne en fond, auquel on ajoute nos clés SSH, qui peuvent ensuite être utilisée dès qu'on fait une connexion SSH.

L'avantage est qu'on ne saisit le password qu'au moment de l'ajout de la clé SSH à l'agent !

Info

Oh et y'a moyen de le faire sous tous les OS. Comme d'hab, sous Linux/MacOS, moins relou :d
Peu importe l'OS, ça finira par taper un ptit ssh-add pour ajouter votre clé à l'agent normalement !

🌞 Configurer un agent SSH sur votre poste

  • détaillez-moi toute la conf ici que vous aurez fait

Logo OpenSSH