1
0
nixfiles/pkgs/nixfiles/nixfiles-update-ssh-host-keys.sh

13 lines
470 B
Bash
Executable File

#!/usr/bin/env bash
cd "$(git rev-parse --show-toplevel)"
for host in $(nix eval --apply 'attrs: builtins.concatStringsSep "\n" (builtins.filter (name: (builtins.substring 0 1 name) != "_") (builtins.attrNames attrs))' --raw .#clerie.hosts); do
echo "$host"
ssh_key=$(ssh-keyscan -t ed25519 "${host}.net.clerie.de" 2>/dev/null | sed -E 's/(\S+) (.+)/\2/g' || true)
if [[ -n "$ssh_key" ]]; then
echo "$ssh_key"
echo "$ssh_key" > "hosts/${host}/ssh.pub"
fi
done