canonical / canonical/cloud-init
SSH module docs are confusing
- Dominant language
- Python
- Stars
- 3.8k
- Forks
- 1.1k
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 18
Description
#### Docs-specific complaints
> See the cc_set_passwords module documentation to enable/disable SSH password authentication.
`cc_set_passwords` is an internal name, we should just link to this doc
> Supported public key types for the ssh_authorized_keys are:
The list that follows is unreasonably long, which hides more valuable content below it. This should be hidden in a drop down or on some other page or at the very least be at the bottom of the section.
> rsa, ecdsa and ed25519 are added for legacy, as they are valid public keys in some older distros. They may be removed in the future when support for the older distros is dropped.
This is a confusing statement and requires the context to make any sense, since these are the only types of keys which **are valid** for host keys. Maybe this information could be encoded in the jsonschema so that we can use the normal deprecation and docs generation to handle this stuff?
#### General UI complaints
Managing the behavior of ssh keys requires touching 4 different modules (`cc_ssh_import_id`, `cc_ssh`, `cc_ssh_authkey_fingerprints`, `cc_keys_to_console`), and in total 6 independent modules affect ssh behavior (`cc_set_passwords` is required to configure ssh password auth, `cc_phone_home` makes some one-off decisions about which keys are acceptable to distribute). This UI lacks coherence and consistency.
Since ssh key management is one of the fundamental requirements of cloud-init, it may be worthwhile to rethink this UI into something cleaner for a better UX.
Contributor guide
Assessment
This issue has not been assessed yet.