28 lines
619 B
Django/Jinja
28 lines
619 B
Django/Jinja
#!/bin/bash
|
|
set -euo pipefail
|
|
IFS=$'\n\t'
|
|
|
|
host() {
|
|
CAKEY="$2"
|
|
PUBKEY="$3"
|
|
HOST="$4"
|
|
|
|
echo "$PUBKEY" > {{ ssh_ca_dir }}/"$HOST".pub
|
|
ssh-keygen -h -s {{ ssh_ca_dir }}/keys/"$CAKEY" -I "$HOST" -n "$HOST" {{ ssh_ca_dir }}/"$HOST".pub
|
|
cat {{ ssh_ca_dir }}/"$HOST"-cert.pub
|
|
rm {{ ssh_ca_dir }}/"$HOST"*.pub
|
|
}
|
|
|
|
user() {
|
|
CAKEY="$2"
|
|
PUBKEY="$3"
|
|
HOST="$4"
|
|
PRINCIPALS="$5"
|
|
|
|
echo "$PUBKEY" > {{ ssh_ca_dir }}/"$HOST".pub
|
|
ssh-keygen -s {{ ssh_ca_dir }}/keys/"$CAKEY" -I "$HOST" -n "$HOST","$PRINCIPALS" {{ ssh_ca_dir }}/"$HOST".pub
|
|
cat {{ ssh_ca_dir }}/"$HOST"-cert.pub
|
|
rm {{ ssh_ca_dir }}/"$HOST"*.pub
|
|
}
|
|
|
|
"$1" "$@"
|