If you’ve provisioned an instance with Juju, you and use juju ssh to get a shell on it.
You can add model configuration that will supply cloud-init userdata to provisioned instances. For example, a file for model config that includes trusted keys in userdata might look like this.