summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/simple/generate-secrets
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2022-05-03 21:43:47 +0200
committerlassulus <lassulus@lassul.us>2022-05-03 21:47:41 +0200
commit952ea9255534ff158ca614a92b5cf6e36043541d (patch)
tree35d48884d8eb61615f557aed7ccb0ad1f8b7d218 /krebs/5pkgs/simple/generate-secrets
parent339356dcc8f9ea90c545ddd214fb486c451e2772 (diff)
generate-secrets: add retiolum ed25519 keys
Diffstat (limited to 'krebs/5pkgs/simple/generate-secrets')
-rw-r--r--krebs/5pkgs/simple/generate-secrets/default.nix18
1 files changed, 11 insertions, 7 deletions
diff --git a/krebs/5pkgs/simple/generate-secrets/default.nix b/krebs/5pkgs/simple/generate-secrets/default.nix
index a800ff543..f9a7450f7 100644
--- a/krebs/5pkgs/simple/generate-secrets/default.nix
+++ b/krebs/5pkgs/simple/generate-secrets/default.nix
@@ -1,20 +1,21 @@
{ pkgs }:
-pkgs.writeDashBin "generate-secrets" ''
+pkgs.writers.writeDashBin "generate-secrets" ''
+ set -eu
HOSTNAME="$1"
TMPDIR=$(${pkgs.coreutils}/bin/mktemp -d)
+ cd $TMPDIR
+
PASSWORD=$(${pkgs.pwgen}/bin/pwgen 25 1)
HASHED_PASSWORD=$(echo $PASSWORD | ${pkgs.hashPassword}/bin/hashPassword -s) > /dev/null
${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f $TMPDIR/ssh.id_ed25519 -P "" -C "" >/dev/null
- ${pkgs.openssl}/bin/openssl genrsa -out $TMPDIR/retiolum.rsa_key.priv 4096 2>/dev/null > /dev/null
- ${pkgs.openssl}/bin/openssl rsa -in $TMPDIR/retiolum.rsa_key.priv -pubout -out $TMPDIR/retiolum.rsa_key.pub 2>/dev/null > /dev/null
+ ${pkgs.tinc_pre}/bin/tinc --config "$TMPDIR" generate-keys 4096 >/dev/null
cat <<EOF > $TMPDIR/hashedPasswords.nix
{
root = "$HASHED_PASSWORD";
}
EOF
- cd $TMPDIR
for x in *; do
${pkgs.coreutils}/bin/cat $x | ${pkgs.brain}/bin/brain insert -m krebs-secrets/$HOSTNAME/$x > /dev/null
done
@@ -31,9 +32,12 @@ pkgs.writeDashBin "generate-secrets" ''
aliases = [
"$HOSTNAME.r"
];
- tinc.pubkey = ${"''"}
- $(cat $TMPDIR/retiolum.rsa_key.pub)
- ${"''"};
+ tinc = {
+ pubkey = ${"''"}
+ $(cat $TMPDIR/rsa_key.pub)
+ ${"''"};
+ pubkey_ed25519 = "$(cut -d ' ' -f 3 $TMPDIR/ed25519_key.pub)";
+ };
};
};
ssh.privkey.path = <secrets/ssh.id_ed25519>;