Install
openclaw skills install teleport-tsh-sshUse Teleport tsh CLI with a Machine ID (tbot) identity file to SSH into Teleport-managed hosts or run remote commands through Teleport access controls. Trigger when asked to connect to a Teleport host, execute commands on Teleport nodes, or troubleshoot tsh access using a local tbot-refreshed identity. Complements the teleport-tbot-bootstrap skill for creating and persisting the local Machine ID identity source.
openclaw skills install teleport-tsh-sshUse this skill to access Teleport SSH nodes via tsh with an explicit identity file (-i) and persistent proxy selection.
Pair this with teleport-tbot-bootstrap to set up and persist the local Machine ID identity source.
Tested against Teleport/tsh/tbot 18.7.0.
Always pass -i <identity-file> to tsh commands.
Default identity path:
~/.openclaw/workspace/tbot/identityIf the default does not exist, discover a workspace identity file and use the best match.
When default identity is missing, search within workspace for candidate files named like:
identity*.identitytbot/identityValidate candidate format before use. A valid Teleport Machine ID identity file typically contains multiple blocks, such as:
-----BEGIN PRIVATE KEY-----*-cert-v01@openssh.com ...)-----BEGIN CERTIFICATE----- blocksPick the most likely current file (prefer paths under tbot/, then newest mtime).
tsh ssh, tsh ls, tsh scp).Resolve proxy in this order:
TELEPORT_PROXY is set, use it.~/.openclaw/workspace/tbot/proxy (single-line text file) if present.~/.openclaw/workspace/tbot/proxy for future runs.Always include proxy in commands when resolved:
tsh -i <identity> --proxy=<proxy> ...tsh is installed.TELEPORT_PROXY first, then saved proxy file, then prompt-and-save).tsh -i <identity> --proxy=<proxy> status.tsh -i <identity> --proxy=<proxy> ls.tsh -i <identity> --proxy=<proxy> ssh <host>tsh -i <identity> --proxy=<proxy> ssh <host> -- <command> [args...]tsh -i <identity> --proxy=<proxy> ssh <host>tsh -i <identity> --proxy=<proxy> ssh <host> -- <command> [args...]tsh -i <identity> --proxy=<proxy> ssh <login>@<host>tsh -i <identity> --proxy=<proxy> ssh --login=<login> <host>tsh -i <identity> --proxy=<proxy> lsIf user asks what nodes are available, run tsh ls with identity+proxy and report back.
Prefer non-interactive form when user asks for command output.
Use tsh scp with identity+proxy for file transfer. Syntax mirrors OpenSSH scp.
tsh -i <identity> --proxy=<proxy> scp <local_path> <host>:<remote_path>tsh -i <identity> --proxy=<proxy> scp <host>:<remote_path> <local_path>tsh: command not found → install Teleport client.~/.openclaw/workspace/tbot/proxy, retry.not logged in / cert expired → refresh Machine ID output (tbot service health).access denied → role/login mismatch; verify host and identity origin.host not found → verify with tsh -i <identity> --proxy=<proxy> ls and cluster/proxy context.Use tsh with explicit Machine ID identity (-i) for Teleport SSH, remote commands, node listing, and tsh scp.
Use with teleport-tbot-bootstrap to create and persist the local Machine ID identity source.
Standardize Teleport server access with identity-first command patterns. Enforce explicit identity usage, resolve proxy consistently, support host discovery, command execution, and file transfer with practical troubleshooting guidance.
references/tsh-ssh-reference.md