pkgs/switches/junos: generate password hash

This commit is contained in:
Astro 2022-06-27 22:40:14 +02:00
parent 00c57c88bf
commit 547e0e92d3
2 changed files with 77 additions and 65 deletions

View File

@ -1,67 +1,67 @@
-----BEGIN PGP MESSAGE-----
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
g6NBpvy1POSeYjazd/dyWi3+
=P8jl
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
=Rc2o
-----END PGP MESSAGE-----

View File

@ -108,11 +108,23 @@ let
}
'';
configFileWithHash = runCommand "junos.config" {
nativeBuildInputs = [ python3 ];
} ''
cat >gen.py<<EOF
import crypt
print(crypt.crypt('${hostConfig.password}', crypt.mksalt(crypt.METHOD_SHA256)))
EOF
HASH=$(python gen.py)
substitute ${configFile} $out \
--replace "%%HASH%%" "$HASH"
'';
mgmtAddress = config.site.net.mgmt.hosts4.${hostName};
in ''
#! ${runtimeShell} -e
scp ${configFile} root@${mgmtAddress}:/tmp/junos.config
scp ${configFileWithHash} root@${mgmtAddress}:/tmp/junos.config
ssh root@${mgmtAddress} cli <<EOF
configure
load override /tmp/junos.config