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----- -----BEGIN PGP MESSAGE-----
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
+2qFbr9o6HSBTdo7vC2GxALLfFnrbufyZX3SfuiKJHJUXSePRltNMj+ewoiUFtxp WS1O0+uxsFAIi71E1A+hdRLvikDm102rRgZt/BKi3R45jNbLnKTC4HsQDv1d9ISW
rUPJt4CQMnKl+ppDJ/VWVI6agjJsalaTJYjIzQJZ/20D3MegcgmOzHWBhhWEdh69 HOe8K9H4umWCqLTml+Spv/PueMhi9KumOJJuDK65xUqu3q27gQcb3DwCG35JUo4o
bHCf9MwtTjmqsj7Q2KsDn8jSqyKDm5Ej7PH5qc60pJb/J3vX3iriysWptLwO8U5p o7WyKYQpqi7bb75Rhu+jO12esxiAo7VTJh+fE2/AsJcawY+bVrqT6q0goxEmrwm2
rdUEvqegXFpd0I8kMkH23VaFLENWtKm+zPWFgZJ8d77BUeh3nmZHQTk8tpF0lwUO Hxhyf2qVFMabl5//86gN8C50n8WsSgxZq2cQFF4i99o1j6EsAV8yuNwIh7ksrQ9I
9VX/qdRyfDp+8SSjKhWz+GL4NLT1pzsY2Q9hNeow2Pjolxzs6Zpli31mFkob6Xci r+/pz6Qkfp4Q8qrg01sOvFSO8qaslxcvbkdhcCso97LQNeN9sDFUXd/9XulQMSQo
g6NBpvy1POSeYjazd/dyWi3+ QSr7C7py9DVUsf4sFMSWSJs/dzSdsROZ7LiX4aU9DSF+rrjq8Q==
=P8jl =Rc2o
-----END PGP MESSAGE----- -----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}; mgmtAddress = config.site.net.mgmt.hosts4.${hostName};
in '' in ''
#! ${runtimeShell} -e #! ${runtimeShell} -e
scp ${configFile} root@${mgmtAddress}:/tmp/junos.config scp ${configFileWithHash} root@${mgmtAddress}:/tmp/junos.config
ssh root@${mgmtAddress} cli <<EOF ssh root@${mgmtAddress} cli <<EOF
configure configure
load override /tmp/junos.config load override /tmp/junos.config