vault_ssh_exec
Run remote commands or rsync files using a vaulted SSH key kept inside the broker, never written to disk or exposed to the agent. Hosts are checked against the entry allowlist.
Instructions
Run a command on a remote host, or rsync files to it, using a vaulted SSH key that is never written to disk and never returned to you.
The key stays inside the broker, which answers signature requests over a private ssh-agent socket that exists only for the duration of this call. You choose the remote command; you do not get the key.
The destination is checked against the ssh_hosts allowlist on the entry, and the ssh command line is constructed here — naming a different host inside remote_argv does not change where it connects. An entry with no ssh_hosts authorises nothing.
Every signature is audited with the key fingerprint and the authorised host.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| purpose | Yes | Why this is needed (audit log). | |
| entry_id | Yes | Vault entry holding the SSH private key (ed25519, unencrypted). | |
| rsync_args | No | rsync arguments instead of a remote command. Every [user@]host:path argument is checked against the same allowlist. | |
| destination | Yes | Remote destination, [user@]host. The host part must be in the entry's ssh_hosts. | |
| remote_argv | No | Command and arguments to run on the remote host. An array, run without a shell. Omit when using rsync_args. | |
| working_dir | No | Local working directory for rsync source paths. | |
| timeout_seconds | No | Default 120. |