X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=nixops%2Fmodules%2Fssh%2Fdefault.nix;h=924f86e213427d18f9e16cc9298ebab2a1002c7f;hb=ea7bf00c5af841b6f3980cb8d957daec5e609422;hp=b28f6cac6242cce8105529b19e81edb25b3f8dc2;hpb=926a4007ae464c08363c75aa177d978d803366a6;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/nixops/modules/ssh/default.nix b/nixops/modules/ssh/default.nix index b28f6ca..924f86e 100644 --- a/nixops/modules/ssh/default.nix +++ b/nixops/modules/ssh/default.nix @@ -8,17 +8,25 @@ AuthorizedKeysCommandUser nobody ''; + deployment.keys = { + ssh-ldap = { + user = "nobody"; + group = "nobody"; + permissions = "0400"; + text = myconfig.env.sshd.ldap.password; + }; + }; + system.activationScripts.sshd = '' + install -Dm400 -o nobody -g nobody -T /run/keys/ssh-ldap /etc/ssh/ldap_password + ''; + # ssh is strict about parent directory having correct rights, don't + # move it in the nix store. environment.etc."ssh/ldap_authorized_keys" = let ldap_authorized_keys = mylibs.wrap { name = "ldap_authorized_keys"; file = ./ldap_authorized_keys.sh; - vars = { - LDAP_PASS = myconfig.env.sshd.ldap.password; - GITOLITE_SHELL = "${pkgs.gitolite}/bin/gitolite-shell"; - ECHO = "${pkgs.coreutils}/bin/echo"; - }; - paths = [ pkgs.openldap pkgs.stdenv.shellPackage pkgs.gnugrep pkgs.gnused pkgs.coreutils ]; + paths = [ pkgs.which pkgs.gitolite pkgs.openldap pkgs.stdenv.shellPackage pkgs.gnugrep pkgs.gnused pkgs.coreutils ]; }; in { enable = true;