
On Tue, Mar 31, 2020 at 05:39:45PM +0200, Andrea Bolognani wrote:
On Thu, 2020-03-26 at 14:33 +0100, Erik Skultety wrote:
Unlike with the 'test' flavour, where the 'test' user has sudo permissions on the system, with machines set up with the 'gitlab' flavour which are intended to contact the outside world which, we don't want that. More importantly though, we must not use the default root password which is set by the install script on such machines. Therefore, set the root password to a random one as part of the gitlab flavour task, thus only allowing SSH pubkey authentication for the root account.
I'm confused by this.
If we want the root account to only be accessible via SSH with a pubkey, then we can configure sshd accordingly: setting a random password which is not stored anywhere prevents access not only via SSH, but also via local access (eg. serial console), which I don't think is desirable.
I answered this in one of the former patches, so I don't want to repeat it here too.
Moreover, the root password that is set in the first place is taken from a mandatory user-provided configuration file, and I'm not sure we should be condescending towards users by basically saying "we know you didn't choose a secure password, so we're going to generate a new one ourselves".
Like I said, with these machines, we need to design them in a way where they can come and go easily. Once you accept that, you don't care about the root password as long as you have SSH access via a secure manner (at least I never cared with the machines I created with virt-builder, or provisioned in beaker). For personal machines, yes, this is inconvenient, but the sole purpose of these executors is to live somewhere in the cloud and do 1 job and 1 job only. I'm planning on proceeding with creating a cloud config for OpenStack for these machines which is another explanation for the password - for cloud machines, the root password will always be set by the cloud init script and that one can either be static, or random (and I have a hunch that the latter is actually true in production environments where other mechanism are put in use to be able to get root access, like SSH or a service account with sudo perms). -- Erik Skultety