File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change 34
34
start_all()
35
35
installer.succeed("mkdir -p /tmp/extra-files/var/lib/secrets")
36
36
installer.succeed("echo value > /tmp/extra-files/var/lib/secrets/key")
37
+ installer.succeed("mkdir -p /tmp/extra-files/home/user/.ssh")
38
+ installer.succeed("echo secretkey > /tmp/extra-files/home/user/.ssh/id_ed25519")
39
+ installer.succeed("echo publickey > /tmp/extra-files/home/user/.ssh/id_ed25519.pub")
40
+ installer.succeed("chmod 600 /tmp/extra-files/home/user/.ssh/id_ed25519")
37
41
ssh_key_path = "/etc/ssh/ssh_host_ed25519_key.pub"
38
42
ssh_key_output = installer.wait_until_succeeds(f"""
39
43
ssh -i /root/.ssh/install_key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
46
50
--kexec /etc/nixos-anywhere/kexec-installer \
47
51
--extra-files /tmp/extra-files \
48
52
--store-paths /etc/nixos-anywhere/disko /etc/nixos-anywhere/system-to-install \
53
+ --chown /home/user 1000:100 \
49
54
--copy-host-keys \
50
55
root@installed >&2
51
56
""")
62
67
assert "value" == content, f"secret does not have expected value: {content}"
63
68
ssh_key_content = new_machine.succeed(f"cat {ssh_key_path}").strip()
64
69
assert ssh_key_content in ssh_key_output, "SSH host identity changed"
70
+ priv_key_perms = new_machine.succeed("stat -c %a /home/user/.ssh/").strip()
71
+ assert priv_key_perms == "600", f"unexpected permissions for private key: {priv_key_perms}"
72
+ user_dir_ownership = new_machine.succeed("stat -c %u:%g /home/user").strip()
73
+ assert user_dir_ownership == "1000:100", f"unexpected user home dir permissions: {user_dir_ownership}"
65
74
'' ;
66
75
}
67
76
)
You can’t perform that action at this time.
0 commit comments