-
Feature Request
-
Resolution: Unresolved
-
Normal
-
None
-
openshift-4.14, openshift-4.15, openshift-4.16, openshift-4.17, openshift-4.18, openshift-4.19
-
None
-
Product / Portfolio Work
-
None
-
False
-
-
None
-
None
-
None
-
-
None
-
None
-
None
-
None
-
None
1. Proposed title of this feature request
SSH authorized_keys customisation at install time via the install-config.yaml
2. What is the nature and description of the request?
When generating an `install-config.yaml` file using the `openshift-install` CLI tool, the user is forced to select from existing public SSH keys in the users home directory, ensuring a valid public key is used.
The same goes when using the "Assisted Installer" to create a cluster via the Red Hat Hybrid Cloud Console: the Discovery ISO generation form enforces strict public SSH key format
The provided key ends up in the `core` user's home directory, in an `.ssh/authorized_keys.d/ignition` file in the deployed nodes.
Despite the enforced format when generating the file, the `install-config.yaml` can be manually created, or a generated file modified, to change the `sshKey` content to contain extra options that are not part of a standard public key but are still valid for an `authorized_keys` file, and then use the `openshift-install create cluster` command to deploy a cluster using the modified `install-config.yaml` and still results in a working deployment.
This does not work however when using the agent-based installer, as the agent will attempt to validate the content of the `sshKey` parameter and will deam it to be invalid.
3. Why does the customer need this? (List the business requirements here)
The customer is specifically attempting to restrict which external hosts are allowed to use by substituting the standard public SSH key in the `install-config.yaml` with a customised value along the lines of:
from="aaa.aaa.aaa.aaa,bbb.bbb.bbb.bbb" ssh-ed25519 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx user@example.com
This is a valid `authorized_keys` file, but is not a valid public SSH key. Using the `openshift-install` tool to complete the cluster deployment works, but when using the agent-based installer, the key is rejected as invalid.
The customer would like to use the same `install-config.yaml` that they have used with other install methods with the agent-based installer too.
4. List any affected packages or components.
- Agent-based installer
- openshift-install
- Assisted Installer