#!/bin/sh # Lists all authorized public keys from $AUTHORIZED_KEYS_DIR for sshd. # # sshd invokes this script via AuthorizedKeysCommand on every auth attempt, # so adding/removing a *.pub file is picked up live — no container restart. # # Exit 0 with no output if there are no keys (sshd treats this the same # as "no AuthorizedKeysCommand matches" and falls through to AuthorizedKeysFile, # which we keep for the boot-time-merged file from AUTHORIZED_KEYS_HOST/_REPO). DIR="${AUTHORIZED_KEYS_DIR:-/etc/bastion/users.d}" for f in "$DIR"/*.pub; do [ -f "$f" ] || continue cat "$f" # ensure newline between keys (most .pub files end with one anyway) echo done exit 0