Remote hosts (SSH)
Put a session's working directory on a remote host: host discovery, authentication order, and the jump-host configuration that is not yet supported.
A session's working directory can live on a remote host. Klaus reads your local SSH configuration to list available hosts, and can test connectivity, browse remote directories, and set a remote path as the working directory. When signing in requires typing a password or passphrase interactively, you still answer in the UI — Klaus never fills it in for you.
- Klaus speaks the SSH protocol itself; it does not invoke the system
sshcommand. A remote working directory is anssh://[user@]host[:port]/absolute-pathstring. - Host information comes from your own
~/.ssh/config(HostName / User / Port / IdentityFile;Includeis expanded one level, and the first value seen wins). - Host fingerprints are handled as accept-new: an unseen host is recorded, and a changed fingerprint is refused outright.
- Authentication order: ssh-agent → private key files (an encrypted key prompts you for its passphrase) → keyboard-interactive → password. When input is needed, the UI shows a dialog and can wait a few minutes for you; the password you type is used only for this authentication.
- One authenticated connection per target is kept and reused, and each command opens a channel on it, so there is no re-authentication every time. Connections time out after 10 seconds.
- ProxyJump / ProxyCommand are not supported yet — hitting one produces an explicit error instead of pretending the connection succeeded.
- A remote root directory is not counted among the writable roots of the local sandbox: it is a path on the remote machine, which the local path gate has no jurisdiction over.