canonical / canonical/cloud-init

SSH module docs are confusing

Open
#5,644 2 comments 1 reaction 0 assignees View on GitHub
documentation
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.