- General/common -- HALF-DONE: Locking? -- DONE: Constants for common file dests -- DONE: Func to write to dest, backing up dest if exists first -- DONE: Test ssh config (sshd -t) and rollback if fail -- When completely done, go.mod - Key generation -- DONE: Generate priv/pubkeys -- DONE: Build key structure -- write out base64 with headers to files - SSH Moduli -- NOT NEEDED?: Do DH param gen in goroutine so we can do other things while it spawns and runs --- Check if haveged is running. If not and installed, start it. --- Generate moduli -- DONE: Render to /etc/ssh/moduli format --- DONE: custom moduli marshaler/unmarshaler? (e.g. https://stackoverflow.com/a/50211222) -- Write to dest - Config -- Need to merge in changes -- Track options in struct? --- add subtype structs