Retour au cours

authorized_keys avancé

Limitez ce qu’une clé peut faire côté serveur pour réduire l’impact en cas de fuite.

objectifs d’apprentissage

  • Utiliser options per-key.
  • Forcer une commande.
  • Limiter les origines.

prérequis

  • Accès au compte cible.
  • authorized_keys modifiable.

notions clés

  • from=.
  • command=.
  • no-pty, restrict, permitopen.

démonstration guidée

étape 1

Ajouter une clé limitée à une seule commande.

printf 'command="id",no-pty,no-agent-forwarding ' | cat - ~/.ssh/id_ed25519.pub | ssh user@203.0.113.10 'cat >> ~/.ssh/authorized_keys'

étape 2

Restreindre aux IP sources attendues.

echo 'from="203.0.113.0/24" ' | cat - ~/.ssh/id_ed25519.pub | ssh user@203.0.113.10 'cat >> ~/.ssh/authorized_keys'

exercice

Ajoutez restrict et un permitopen pour n’autoriser qu’un port forwarding spécifique.

correction

Exemple d’options combinées.

restrict,permitopen="127.0.0.1:5432" command="/usr/local/bin/readonly.sh" <clé_publique>

quiz éclair

  1. Quelle option limite l’usage d’un port forwarding précis ?
  • a) permitopen
  • b) no-user-rc
  • c) no-port-forwarding (bloque tous)

ressources

Sujets abordés