Skip to main content

tbot Reference

Report an Issue

This guide provides a comprehensive list of commands, arguments, and flags for tbot: Teleport Machine & Workload Identity issues and renews short-lived certificates so your machines can access Teleport protected resources in the same way your engineers do.

tbot [<flags>] <command> [<args> ...]

Global flags:

FlagDefaultDescription
-c, --confignonePath to a configuration file.
-d, --[no-]debugfalseVerbose logging to stdout.
--log-formattextControls the format of output logs. Can be json or text. Defaults to text.
--[no-]fipsfalseRuns tbot in FIPS compliance mode. This requires the FIPS binary is in use.
--[no-]insecurefalseInsecure configures the bot to trust the certificates from the Auth Server or Proxy on first connect without verification. Do not use in production.

Global environment variables:

VariableDefaultDescription
TBOT_CONFIG_PATHnonePath to a configuration file.
TBOT_DEBUGfalseVerbose logging to stdout.

tbot configure application

Configures tbot with an application output.

Usage:

tbot configure application --destination=DESTINATION --app=APP [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--appnoneThe name of the app in Teleport
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--[no-]oneshotfalseIf set, quit after the first renewal.
--[no-]specific-tls-extensionsfalseIf set, include additional tls.crt, tls.key, and tls.cas for apps that require these file extensions
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot configure application-proxy

Configures tbot with an application proxy.

Usage:

tbot configure application-proxy --listen=LISTEN [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--listennoneA socket URI, such as tcp://0.0.0.0:8080
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot configure application-tunnel

Configures tbot with an application tunnel.

Usage:

tbot configure application-tunnel --listen=LISTEN --app=APP [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--appnoneThe name of the app in Teleport
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--listennoneA socket URI, such as tcp://0.0.0.0:8080
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot configure database

Configures tbot with a database output.

Usage:

tbot configure database --destination=DESTINATION --service=SERVICE --username=USERNAME --database=DATABASE [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--databasenoneThe name of the database available in the requested database service
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--format``The database output format if necessary
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--servicenoneThe database service name
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
--usernamenoneThe database user name

tbot configure database-tunnel

Configures tbot with a database tunnel listener.

Usage:

tbot configure database-tunnel --listen=LISTEN --service=SERVICE --username=USERNAME --database=DATABASE [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--databasenoneThe name of the database available in the requested database service
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--listennoneA socket URI to listen on, such as tcp://0.0.0.0:3306
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--servicenoneThe database service name
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
--usernamenoneThe database user name

tbot configure identity

Configures tbot with an identity output for SSH and Teleport API access.

Usage:

tbot configure identity --destination=DESTINATION [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--clusternoneThe name of a specific cluster for which to issue an identity if using a leaf cluster
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--[no-]allow-reissuefalseAllow the credentials output by this command to be reissued.
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot configure kubernetes

Configures tbot with a Kubernetes output.

Usage:

tbot configure kubernetes --destination=DESTINATION --kubernetes-cluster=KUBERNETES-CLUSTER [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--kubernetes-clusternoneThe name of the Kubernetes cluster in Teleport for which to fetch credentials
--[no-]disable-exec-pluginfalseIf set, disables the exec plugin. This allows credentials to be used without the tbot binary.
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot configure kubernetes/v2

Configures tbot with a Kubernetes V2 output.

Usage:

tbot configure kubernetes/v2 --destination=DESTINATION [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--label-selectornoneA set of Kubernetes labels to match in k1=v1,k2=v2 form. Repeatable.
--name-selectornoneAn explicit Kubernetes cluster name to include. Repeatable.
--[no-]disable-exec-pluginfalseIf set, disables the exec plugin. This allows credentials to be used without the tbot binary.
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot configure legacy

Configures tbot with either a config file or a legacy output.

Usage:

tbot configure legacy [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--data-dirnoneDirectory to store internal bot data. Access to this directory should be limited.
--destination-dirnoneDirectory to write short-lived machine certificates.
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot configure ssh-multiplexer

Configures tbot with an SSH Multiplexer service.

Usage:

tbot configure ssh-multiplexer --destination=DESTINATION [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--[no-]enable-resumptionfalseIf set, disables SSH session resumption.
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-commandnoneThe command to run as the SSH ProxyCommand, such as fdpass-teleport. Defaults to this tbot binary. Repeatable to add additional args.
--proxy-servernoneAddress of the Teleport Proxy Server.
--proxy-templates-pathnoneA path to a proxy template config file. Optional.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot configure workload-identity-api

Configures tbot with a workload identity API listener. Compatible with the SPIFFE Workload API and Envoy SDS.

Usage:

tbot configure workload-identity-api --listen=LISTEN [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--label-selectornoneA label-based selector for which workload identities to issue. Multiple labels can be provided using ','.
--listennoneThe address on which the workload identity API should listen. This should either be prefixed with 'unix://' or 'tcp://'.
--name-selectornoneThe name of the workload identity to issue
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot configure workload-identity-aws-roles-anywhere

Configures tbot with an output containing AWS credentials generated via AWS Roles Anywhere.

Usage:

tbot configure workload-identity-aws-roles-anywhere --destination=DESTINATION --role-arn=ROLE-ARN --profile-arn=PROFILE-ARN --trust-anchor-arn=TRUST-ANCHOR-ARN [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--label-selectornoneA label-based selector for which workload identities to issue. Multiple labels can be provided using ','.
--name-selectornoneThe name of the workload identity to issue
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--profile-arnnoneThe ARN of the Roles Anywhere profile to use.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--regionnoneThe AWS region to use. If unset, value will be used from the AWS config or the AWS_REGION environment variable.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--role-arnnoneThe ARN of the role to assume.
--session-durationnoneThe duration of the resulting AWS session and credentials. This may be up to 12 hours. When unset, this defaults to 6 hours.
--session-renewal-intervalnoneHow often the session should be renewed. This should be less than the session duration. When unset, this defaults to 1 hour.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
--trust-anchor-arnnoneThe ARN of the Roles Anywhere trust anchor to use.

tbot configure workload-identity-jwt

Configures tbot with a SPIFFE-compatible JWT SVID output.

Usage:

tbot configure workload-identity-jwt --destination=DESTINATION --audience=AUDIENCE [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--audiencenoneSpecify the audiences to include in the JWT. At least one audience must be specified.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--label-selectornoneA label-based selector for which workload identities to issue. Multiple labels can be provided using ','.
--name-selectornoneThe name of the workload identity to issue
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot configure workload-identity-x509

Configures tbot with a SPIFFE-compatible SVID output.

Usage:

tbot configure workload-identity-x509 --destination=DESTINATION [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--label-selectornoneA label-based selector for which workload identities to issue. Multiple labels can be provided using ','.
--name-selectornoneThe name of the workload identity to issue
--[no-]include-federated-trust-bundlesfalseIf set, include federated trust bundles in the output
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot copy-binaries

Copies this tbot binary to a given destination

Usage:

tbot copy-binaries [<flags>] <destination-dir>

Flags:

FlagDefaultDescription
--[no-]include-fdpassfalseIf set, also copy fdpass-teleport. It must be available in the same path as tbot.

Arguments:

ArgumentDefaultDescription
destination-dirnone (required)The destination path to write the copy of the tbot binary

tbot db

Execute database commands through tsh.

Usage:

tbot db [<flags>] [<args>...]

Flags:

FlagDefaultDescription
--clusternoneThe cluster name. Extracted from the certificate if unset.
--destination-dirnoneThe destination directory with which to authenticate tsh
--proxy-servernoneThe Teleport proxy server to use, in host:port form.

Arguments:

ArgumentDefaultDescription
argsnone (optional)Arguments to tsh db ...; prefix with -- to ensure flags are passed correctly.

tbot help

Show help.

Usage:

tbot help [<command>...]

Arguments:

ArgumentDefaultDescription
commandnone (optional)Show help on command.

tbot init

Initialize a certificate destination directory for writes from a separate bot user.

Usage:

tbot init [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--bot-usernoneEnables POSIX ACLs and defines Linux user that can read/write short-lived certificates to "--destination-dir".
--destination-dirnoneDirectory to write short-lived machine certificates.
--init-dirnoneIf using a config file and multiple destinations are configured, controls which destination dir to configure.
--[no-]cleanfalseIf set, remove unexpected files and directories from the destination.
--ownernoneDefines Linux "user:group" owner of "--destination-dir". Defaults to the Linux user running tbot if unspecified.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-usernoneEnables POSIX ACLs and defines Linux user that will read short-lived certificates from "--destination-dir".

tbot install systemd

Generates and installs a systemd unit file for a specified tbot configuration file.

Usage:

tbot install systemd [<flags>]

Flags:

FlagDefaultDescription
--groupteleportThe group that the service should run as. Defaults to 'teleport'.
--nametbotName for the systemd unit. Defaults to 'tbot'.
--[no-]anonymous-telemetryfalseEnable anonymous telemetry.
--[no-]forcefalseOverwrite existing systemd unit file if present.
--[no-]writefalseWrite the systemd unit file. If not specified, this command runs in a dry-run mode that outputs the generated content to stdout.
--systemd-directory/etc/systemd/systemPath to the directory that the systemd unit file should be written. Defaults to '/etc/systemd/system'.
--userteleportThe user that the service should run as. Defaults to 'teleport'.

tbot migrate

Migrates a config file from an older version to the newest version. Outputs to stdout by default.

Usage:

tbot migrate [<flags>]

Flags:

FlagDefaultDescription
-o, --outputnonePath to write the generated configuration file to rather than write to stdout.

tbot proxy

Start a local TLS proxy via tsh to connect to Teleport in single-port mode.

Usage:

tbot proxy [<flags>] [<args>...]

Environment variables:

VariableDefaultDescription
TELEPORT_PROXYnoneThe Teleport proxy server to use, in host:port form.

Flags:

FlagDefaultDescription
--clusternoneThe cluster name. Extracted from the certificate if unset.
--destination-dirnoneThe destination directory with which to authenticate tsh
--proxy-servernoneThe Teleport proxy server to use, in host:port form.

Arguments:

ArgumentDefaultDescription
argsnone (optional)Arguments to tsh proxy ...; prefix with -- to ensure flags are passed correctly.

tbot spiffe-inspect

Inspects a SPIFFE Workload API endpoint to ensure it is working correctly.

Usage:

tbot spiffe-inspect --path=PATH

Flags:

FlagDefaultDescription
--pathnoneThe path to the SPIFFE Workload API endpoint to test.

tbot start application

Starts tbot with an application output.

Usage:

tbot start application --destination=DESTINATION --app=APP [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--appnoneThe name of the app in Teleport
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--[no-]oneshotfalseIf set, quit after the first renewal.
--[no-]specific-tls-extensionsfalseIf set, include additional tls.crt, tls.key, and tls.cas for apps that require these file extensions
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot start application-proxy

Starts tbot with an application proxy.

Usage:

tbot start application-proxy --listen=LISTEN [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--listennoneA socket URI, such as tcp://0.0.0.0:8080
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot start application-tunnel

Starts tbot with an application tunnel.

Usage:

tbot start application-tunnel --listen=LISTEN --app=APP [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--appnoneThe name of the app in Teleport
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--listennoneA socket URI, such as tcp://0.0.0.0:8080
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot start database

Starts tbot with a database output.

Usage:

tbot start database --destination=DESTINATION --service=SERVICE --username=USERNAME --database=DATABASE [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--databasenoneThe name of the database available in the requested database service
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--format``The database output format if necessary
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--servicenoneThe database service name
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
--usernamenoneThe database user name

tbot start database-tunnel

Starts tbot with a database tunnel listener.

Usage:

tbot start database-tunnel --listen=LISTEN --service=SERVICE --username=USERNAME --database=DATABASE [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--databasenoneThe name of the database available in the requested database service
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--listennoneA socket URI to listen on, such as tcp://0.0.0.0:3306
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--servicenoneThe database service name
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
--usernamenoneThe database user name

tbot start identity

Starts tbot with an identity output for SSH and Teleport API access.

Usage:

tbot start identity --destination=DESTINATION [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--clusternoneThe name of a specific cluster for which to issue an identity if using a leaf cluster
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--[no-]allow-reissuefalseAllow the credentials output by this command to be reissued.
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot start kubernetes

Starts tbot with a Kubernetes output.

Usage:

tbot start kubernetes --destination=DESTINATION --kubernetes-cluster=KUBERNETES-CLUSTER [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--kubernetes-clusternoneThe name of the Kubernetes cluster in Teleport for which to fetch credentials
--[no-]disable-exec-pluginfalseIf set, disables the exec plugin. This allows credentials to be used without the tbot binary.
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot start kubernetes/v2

Starts tbot with a Kubernetes V2 output.

Usage:

tbot start kubernetes/v2 --destination=DESTINATION [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--label-selectornoneA set of Kubernetes labels to match in k1=v1,k2=v2 form. Repeatable.
--name-selectornoneAn explicit Kubernetes cluster name to include. Repeatable.
--[no-]disable-exec-pluginfalseIf set, disables the exec plugin. This allows credentials to be used without the tbot binary.
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot start legacy

Starts tbot with either a config file or a legacy output.

Usage:

tbot start legacy [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--data-dirnoneDirectory to store internal bot data. Access to this directory should be limited.
--destination-dirnoneDirectory to write short-lived machine certificates.
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot start ssh-multiplexer

Starts tbot with an SSH Multiplexer service.

Usage:

tbot start ssh-multiplexer --destination=DESTINATION [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--[no-]enable-resumptionfalseIf set, disables SSH session resumption.
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-commandnoneThe command to run as the SSH ProxyCommand, such as fdpass-teleport. Defaults to this tbot binary. Repeatable to add additional args.
--proxy-servernoneAddress of the Teleport Proxy Server.
--proxy-templates-pathnoneA path to a proxy template config file. Optional.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot start workload-identity-api

Starts tbot with a workload identity API listener. Compatible with the SPIFFE Workload API and Envoy SDS.

Usage:

tbot start workload-identity-api --listen=LISTEN [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--label-selectornoneA label-based selector for which workload identities to issue. Multiple labels can be provided using ','.
--listennoneThe address on which the workload identity API should listen. This should either be prefixed with 'unix://' or 'tcp://'.
--name-selectornoneThe name of the workload identity to issue
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot start workload-identity-aws-roles-anywhere

Starts tbot with an output containing AWS credentials generated via AWS Roles Anywhere.

Usage:

tbot start workload-identity-aws-roles-anywhere --destination=DESTINATION --role-arn=ROLE-ARN --profile-arn=PROFILE-ARN --trust-anchor-arn=TRUST-ANCHOR-ARN [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--label-selectornoneA label-based selector for which workload identities to issue. Multiple labels can be provided using ','.
--name-selectornoneThe name of the workload identity to issue
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--profile-arnnoneThe ARN of the Roles Anywhere profile to use.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--regionnoneThe AWS region to use. If unset, value will be used from the AWS config or the AWS_REGION environment variable.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--role-arnnoneThe ARN of the role to assume.
--session-durationnoneThe duration of the resulting AWS session and credentials. This may be up to 12 hours. When unset, this defaults to 6 hours.
--session-renewal-intervalnoneHow often the session should be renewed. This should be less than the session duration. When unset, this defaults to 1 hour.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
--trust-anchor-arnnoneThe ARN of the Roles Anywhere trust anchor to use.

tbot start workload-identity-jwt

Starts tbot with a SPIFFE-compatible JWT SVID output.

Usage:

tbot start workload-identity-jwt --destination=DESTINATION --audience=AUDIENCE [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--audiencenoneSpecify the audiences to include in the JWT. At least one audience must be specified.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--label-selectornoneA label-based selector for which workload identities to issue. Multiple labels can be provided using ','.
--name-selectornoneThe name of the workload identity to issue
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot start workload-identity-x509

Starts tbot with a SPIFFE-compatible SVID output.

Usage:

tbot start workload-identity-x509 --destination=DESTINATION [<flags>]

Environment variables:

VariableDefaultDescription
TELEPORT_AUTH_SERVERnoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
TELEPORT_BOT_TOKENnoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.
TELEPORT_PROXYnoneAddress of the Teleport Proxy Server.

Flags:

FlagDefaultDescription
-a, --auth-servernoneAddress of the Teleport Auth Server. Prefer using --proxy-server where possible.
--ca-pinnoneCA pin to validate the Teleport Auth Server; used on first connect.
--certificate-ttlnoneTTL of short-lived machine certificates.
--destinationnoneA destination URI, such as file:///foo/bar
--diag-addrnoneIf set and the bot is in debug mode, a diagnostics service will listen on specified address.
--join-methodnoneMethod to use to join the cluster. (azure, azure_devops, bitbucket, circleci, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm, terraform_cloud, oracle, bound_keypair, env0)
--join-urinoneAn optional URI with joining and authentication parameters. Individual flags for proxy, join method, token, etc may be used instead.
--label-selectornoneA label-based selector for which workload identities to issue. Multiple labels can be provided using ','.
--name-selectornoneThe name of the workload identity to issue
--[no-]include-federated-trust-bundlesfalseIf set, include federated trust bundles in the output
--[no-]oneshotfalseIf set, quit after the first renewal.
--pid-filenoneFull path to the PID file. By default no PID file will be created.
--proxy-servernoneAddress of the Teleport Proxy Server.
--reader-groupnoneAn additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--reader-usernoneAn additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux.
--registration-secretnoneFor bound keypair joining, specifies a registration secret for use at first join.
--registration-secret-pathnoneFor bound keypair joining, specifies a file containing a registration secret for use at first join.
--renewal-intervalnoneInterval at which short-lived certificates are renewed; must be less than the certificate TTL.
--static-key-pathnoneFor bound keypair joining, specifies a path to a static key.
--storagenoneA destination URI for tbot's internal storage, e.g. file:///foo/bar
--tokennoneA bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect.

tbot tpm identify

Output identifying information related to the TPM detected on the system.

Usage:

tbot tpm identify

tbot version

Print the version of your tbot binary.

Usage:

tbot version

tbot wait

Waits for a running tbot to become ready.

Usage:

tbot wait --diag-addr=DIAG-ADDR [<flags>]

Flags:

FlagDefaultDescription
--diag-addrnoneThe configured --diag-addr of a running bot, in host:port form.
--servicenoneAn optional name. If set, waits for only the named service to become healthy. If unset, waits for all services.
--timeoutnoneAn optional timeout. If set, returns an error if all specified services have reported healthy by the timeout.