SSH (ssh)
The SSH service is used to sign a user’s public key for accessing an intentionally-configured SSH servers.
Client Commands
The SSH workflows can be managed through ssh subcommands.
agent(details) – start an SSH agentexec(details) – connect to a remote SSH serversign-public-key(details) – create a certificate for a specific public key
Server Configuration Options
The following may be configured in the options section when configuring an ssh service.
principals– an array of usernames to allow SSH sessions for (templatized)certauth– the name of a configured certificate authority (defaultdefault)validity– a duration of time for which certificates are signed for (default2m)critical_options– a hash of specific settings further restricting connections to the SSH serverforce-command– a command which is forcefully executed on the SSH server (templatized)source-address– a CSV list of source addresses in CIDR format which certificates can come from for authentication (templatized)
extensions– an array of session features for the server to enforce on the connection (default all)permit-X11-forwardingpermit-agent-forwardingpermit-port-forwardingpermit-ptypermit-user-rc
Propagated Client Options
client– a hash of settings influencing client behaviorhost– the remote host of the SSH serverport– the remote port of the SSH server (default22)user– the remote user to authenticate as (templatized)public_key– the public key of the remote SSH server (requireshost)
General Notes
- certificates are only used for authentication (sessions are not disconnected once the certificates expire)