teleport

gravitationalAGPL-3.0活跃维护 有专家点评

统一管理服务器、Kubernetes、数据库等基础设施的访问入口,基于证书实现身份认证与审计,替代传统跳板机。

The easiest, and most secure way to access and protect all of your infrastructure.

v18.10.0发布于 2026-07-09 00:01 UTC21,089star +12 / 7 天2,184fork同步于 2026-11-10 23:25 UTC

专家点评

上手难度:硬核更新于 2026-11-11

用短期证书和统一代理层替掉 SSH 密钥分发、堡垒机和 VPN 三件套

适用场景

  • 多集群 K8s 加一堆散落 VM 的运维入口:把 kubectl 和 ssh 都收敛到同一个 SSO 登录 + RBAC 策略下,省掉给每个人发 kubeconfig 和私钥的流程
  • 合规要求会话可回溯:SSH、K8s exec、数据库、RDP 会话录制是内建能力,不用再单独搭跳板机加录屏方案
  • 数据库直连审计:Postgres 等走 Teleport 代理,凭据由它签发而不是散在配置里,DBA 离职时吊销证书即可
  • 跨 NAT 访问内网机器:反向隧道让节点主动外连,不用为每台机器开公网端口或维护 VPN 网关

踩坑

  • 从源码构建是重活:要按 build.assets/versions.mk 装 Go、Rust、Node.js、libfido2、pkg-config,1GB 内存以下编译会挂;生产直接用发布 tag 的二进制,别碰 master
  • tsh 默认动态链接 libfido2,没装这个库的机器上 tsh 起不来,得先装库或改 FIDO2 相关构建变量
  • issue 里 shell completion(bash/zsh、资源名补全)被反复提,说明日常 CLI 交互的顺手程度不是开箱即用的水平,重度命令行用户要有预期

同类对比

Octelium 是 HN 上被拿来直接对标的开源替代,Tailscale/Cloudflare Access 在纯网络层接入上更轻;如果只需要 SSH 审计而不需要 K8s/DB/RDP 统一入口,Teleport 的部署复杂度不划算

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/gravitational/teleport.git -b v18.5.0
cd teleport
make full
硬件要求按 README 说明

README 未说明运行 Teleport 的硬件要求;仅提到从源码编译时至少需要 1GB 虚拟内存,512MB 且无 swap 的实例无法编译。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

统一管理基础设施访问的身份感知代理,用短期证书替代长期密钥和 VPN

统一管理服务器、Kubernetes、数据库等基础设施的访问入口,基于证书实现身份认证与审计,替代传统跳板机。

核心能力

  • 用内置 CA 签发短期证书,替代 SSH 密钥和 K8s Token
  • 通过 SSO 与 MFA 统一登录所有云上和本地资源
  • 用隧道穿透 NAT 和防火墙,无需 VPN 或堡垒机
  • 录制并审计 SSH、K8s、数据库、RDP 和 Web 会话
  • 对用户与工作负载统一实施 RBAC/ABAC 和 JIT 提权

容易踩的坑

源码编译需按 build.assets/versions.mk 安装 Go、Rust、Node.js、libfido2 和 pkg-config;master 是开发分支,生产部署应改用发布 tag;tsh 默认动态链接 libfido2,需先装好该库或调整 FIDO2 变量。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v18.10.0
  1. v18.10.0Teleport 18.10.0最新正式版2026-07-09 · 2026-07-09 00:01 UTC

    Description

    Directory sharing enhancements for Windows desktop access

    Teleport now supports sharing multiple directories in a single RDP session. In addition, users will be able to unmount shared directories without terminating the session.

    Windows sessions summaries

    Identity Security now supports AI summarization for Windows desktop access session recordings.

    Other fixes and improvements

    • Resolve connectivity issues with the Redshift database through the MCP. #68337
    • Fixed premature session expiry for Application Access. #68337
    • Updated dependencies (addresses GO-2026-5547 and GO-2026-5694). #68152
    • Kubernetes resource RBAC now honors a wildcard (*) verb regardless of its position in the verbs list, including when introduced via trait templating. #68143
    • Added the Sub CA tctl auth update-override command, a user-friendly alternative over tctl create -f or tctl edit ca_overrides. #68189
    • Kubernetes: adding an ephemeral container to a pod (pods/ephemeralcontainers) now requires both the exec and patch/update verbs in the same role's kubernetes_resources. Previously only patch/update was required. #68159
    • Invalid role expressions are now rejected at creation time. #67607
    • Reject wildcards in role.allow.request.search_as_roles and role.allow.review_requests.preview_as_roles at creation time. #67607
    • Add missing validation for role.allow.require_session_join and role.allow.join_sessions fields. #67607
    • Improved the rate of Azure VM auto-discovery and enrollment. #67941
    • Fixed cloud-hosted Slack plugin exposing credentials in request URLs. #68017
    • Fix an issue where the WebUI would prompt for MFA multiple times for admin actions (or outright fail for select commands) when sso is the only allowed second factor on the cluster. #67867
    • Prevent misrouting when multiple apps share the same public address. #67947
    • Fix MFA prompts to show correct --mfa-mode values for webauthn authenticators. #67971
    • Fixed HTTP application access connections returning repeated 403 errors after certificate renewal. When the certificate behind a long-lived connection expires, the proxy now sends Connection: close so the client reestablishes the connection with a renewed certificate instead of reusing a dead one. #68099
    • Add "tsh apps logins" command to query available logins for the given cloud application (currently only AWS is supported). #68052
    • Added the Sub CA tctl auth delete-override command, a user-friendly alternative over tctl edit ca_overrides or tctl rm ca_overrides. #68014

    Enterprise:

    • Changed Sub CA RPCs to emit audit error events for all failures.
    • Fixed Access List review badge not appearing on the main page for users who are both an owner and a member of an Access List.

    Download

    Download the current and previous releases of Teleport at https://goteleport.com/download.

    Plugins

    Download the current release of Teleport plugins from the links below.

    • Slack [Linux amd64](h
  2. v18.10.0-rc.2Teleport 18.10.0-rc.2pre-release2026-07-07 · 2026-07-07 01:29 UTC
    查看更新说明

    Warning

    Pre-releases are not production ready, use at your own risk!

    Download

    Download the current and previous stable releases of Teleport at https://goteleport.com/download.

  3. v18.10.0-rc.1Teleport 18.10.0-rc.1pre-release2026-07-01 · 2026-07-01 13:51 UTC
    查看更新说明

    Warning

    Pre-releases are not production ready, use at your own risk!

    Download

    Download the current and previous stable releases of Teleport at https://goteleport.com/download.

  4. v18.9.2Teleport 18.9.22026-06-29 · 2026-06-29 14:46 UTC
    查看更新说明

    Description

    • Fixed desktop connection failures to Windows 11 / Windows Server 2025 instances. #67483
    • Fixed potential deadlock when reading access list owners from the cache as the cache becomes unhealthy. #68013
    • Added the Sub CA tctl auth create-override command, a user-friendly alternative over tctl create ca_override.yaml. #67983
    • Add --interactive flag to prompt for role from stdin if --interactive flag is provided. #67951
    • Fixed Teleport Connect file uploads for empty files. #67925
    • Added scope info to user metadata in audit events. #67413
    • Sanitized AWS console federation transport errors to avoid logging AWS session credential material. #67199
    • Joining agents and tsh now report a clean, actionable error when a proxy returns an unsuccessful response to a ping or find request. #67912
    • Reduced write load for the cluster state storage in clusters with large amounts of app resources. #62243
    • Updated moderated upload path validation to require an absolute path to a file to prevent confusion. #67741
    • Added support for the following Oracle Cloud regions: ap-kulai-2, sa-riodejaneiro-1, af-casablanca-1, and me-alrayyan-1. #67858
    • Add scope support for openSSH and proxy recording mode. #67271
    • Add locking mode, disconnect expired cert, enhanced session recording, and session recording mode to scoped roles. #67269
    • Fixed an issue where path separators could be included in scp file names during upload. #67772
    • Prevented users with the same name in different clusters from being able to cancel each others' remote port forwards. #67689
    • Fixed a preflight check in Server Discovery where the script would exit even though there was enough space in /opt/teleport. #67596
    • Fixed an issue in Server Discovery that would prevent suffixed installations in VMs using Ubuntu 25.10 or Ubuntu 26.04. #67709
    • Fixed an SSRF vulnerability in AWS application access where a crafted X-Forwarded-Host header could divert IAM-signed AWS API requests to an attacker-controlled host. #67706
    • Cap AWS STS AssumeRole session duration to the Teleport identity TTL, including query-string AssumeRole requests and requests made with cached assumed-role credentials. #67704
    • Fixed an issue where bots could fail to join with missing identity groups or scope pin when deleted and recreated quickly. #67645
    • Update golang.org/x/crypto to v0.53.0. #67640
    • Fixed role impersonation incorrectly being affected by user allow/deny rules. #67691
    • Fixed Resource Constraints UI visibility for AWS Console app resources created via integrations or tctl. #67531
    • Fixed Windows and Linux desktop Connect dropdowns showing logins from roles the user can request b
  5. v18.9.2-rc.1Teleport 18.9.2-rc.1pre-release2026-06-24 · 2026-06-24 00:08 UTC
    查看更新说明

    Warning

    Pre-releases are not production ready, use at your own risk!

    Download

    Download the current and previous stable releases of Teleport at https://goteleport.com/download.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Teleport provides connectivity, authentication, access controls and audit for infrastructure.

    You might use Teleport to:

    • Set up single sign-on (SSO) for all of your cloud and on-prem infrastructure.
    • Protect access to servers, Kubernetes clusters, databases, Windows desktops, web applications, and cloud APIs without long-lived keys or passwords.
    • Establish secure tunnels to reach resources behind NATs and firewalls without VPNs or bastion hosts.
    • Record and audit activity across SSH, Kubernetes, database, RDP, and web sessions.
    • Apply consistent Role-Based and Attribute-Based Access Control (RBAC/ABAC) across users, machines, workloads, and resource types.
    • Enforce least privilege and Just-in-Time (JIT) access requests for elevated roles or sensitive systems.
    • Maintain a single identity and access layer for both human users and workloads.

    Teleport works with SSH, Kubernetes, databases, RDP, cloud consoles, internal web services, Git repositories, and Model Context Protocol (MCP) servers.

    More Information

    Teleport Getting Started
    Teleport Architecture
    Reference Guides
    FAQ

    Table of Contents

    1. Introduction
    2. Why We Built Teleport
    3. Supporting and Contributing
    4. Installing and Running
    5. Docker
    6. Building Teleport
    7. License
    8. FAQ

    Introduction

    Teleport includes an identity-aware access proxy, a CA that issues short-lived certificates, a unified access control system, and a tunneling system to access resources behind the firewall.

    Teleport is a single Go binary that integrates with multiple protocols and cloud services, including

    You can set up Teleport as a Linux daemon or a Kubernetes deployment.

    Teleport focuses on best practices for infrastructure security, including:

    • No shared secrets such as SSH keys or Kubernetes tokens; Teleport uses certificate-based auth with automatic expiration for all protocols.
    • Multi-factor authentication (MFA) for everything.
    • Single sign-on (SSO) for everything via GitHub Auth, OpenID Connect, or SAML with endpoints like Okta or Microsoft Entra ID.
    • Session sharing for collaborative troubleshooting for issues.
    • Infrastructure introspection to view the status of every SSH node, database instance, Kubernetes cluster, or internal web app through the Teleport CLI or Web UI.

    Teleport uses Go crypto. It is fully compatible with OpenSSH, sshd servers, and ssh clients, Kubernetes clusters and more.

    Project LinksDescription
    Teleport WebsiteThe official website of the project.
    DocumentationAdmin guide, user manual and more.
    FeaturesExplore the complete list of Teleport capabilities.
    BlogOur blog where we publish Teleport news and helpful articles.
    ForumAsk us a setup question or post tutorials, feedback, or ideas.
    Developer ToolsDozens of free browser-based tools for code processing, cryptography, data transformation, and more.
    Teleport AcademyHow-to guides, best practices, and deep dives into topics like SSH, Kubernetes, MCP, and more.
    SlackNeed help with your setup? Ping us in our Slack channel.
    Cloud & Self-HostedTeleport Enterprise is a cloud-hosted option for teams that require easy and secure access to their computing environments.

    Why We Built Teleport

    While working together at Rackspace, the creators of Teleport noticed that most cloud users struggle with setting up and configuring infrastructure security. Many popular tools designed for this are complex to understand and expensive to maintain across modern, distributed computing infrastructure.

    We decided to build a solution that's easy to use, understand, and scale. A real-time representation of all your servers in the same room as you, as if they were magically teleported. And thus, Teleport was born!

    Today, Teleport is trusted by everyone from hobbyists to hyperscalers to simplify security across cloud CLIs and consoles, Kubernetes clusters, SSH servers, databases, internal web apps, and Model Context Protocol (MCP) used by AI agents.

    Learn more about Teleport and our history

    Supporting and Contributing

    We aim to make Teleport easy to adopt and contribute to, starting with clear and comprehensive documentation.

    If you have questions, are exploring ideas, or want to sanity-check something, please start with a GitHub Discussion. Discussions help us answer questions, explore use cases, and decide together whether something should become a bug report or feature request.

    • Start a conversation in Teleport Discussions
      This is the best place to ask questions, share ideas, and get help. Our engineers actively participate there, and discussions can be promoted to issues when there is a clear, actionable next step.

    • Issues are for confirmed bugs and well-defined feature requests
      If something has already been validated as a bug or an enhancement, feel free to open an issue. When in doubt, start a discussion and we will help guide it.

    • Enterprise and POC support
      If you are evaluating Teleport Enterprise or need more responsive support during a POC, we can set up a dedicated Slack channel. You can reach out to us through our website to get started.

    Installing and Running

    To set up a single-instance Teleport cluster, follow our getting started guide. You can then register your servers, Kubernetes clusters, and other infrastructure with your Teleport cluster.

    You can also get started with Teleport Enterprise Cloud, a managed Teleport deployment that makes it easier to enable secure access to your infrastructure.

    Sign up for a free trial of Teleport Enterprise Cloud, and follow this guide to register your first server.

    Docker

    Deploy Teleport

    If you wish to deploy Teleport inside a Docker container see the installation guide.

    For Local Testing and Development

    To run a full test suite locally, see the test dependencies list

    Building Teleport

    The teleport repository contains the Teleport daemon binary (written in Go) and a web UI written in TypeScript.

    If your intention is to build and deploy for use in a production infrastructure a released tag should be used. The default branch, master, is the current development branch for an upcoming major version. Get the latest release tags listed at https://goteleport.com/download/ and then use that tag in the git clone. For example git clone https://github.com/gravitational/teleport.git -b v18.5.0 gets release v18.5.0.

    Dockerized Build

    It is often easiest to build with Docker, which ensures that all required tooling is available for the build. To execute a dockerized build, ensure that docker is installed and running, and execute:

    make -C build.assets build-binaries
    

    This command will build Linux binaries matching the host architecture. It is not possible to cross-compile to a different target architecture.

    Local Build

    Dependencies

    The following dependencies are required to build Teleport from source. For maximum compatibility, install the versions of these dependencies using the versions listed in build.assets/versions.mk:

    1. Go
    2. Rust
    3. Node.js
    4. libfido2
    5. pkg-config

    For an example of dev environment setup on macOS, see these instructions.

    Perform a build

    Important

    • The Go compiler is somewhat sensitive to the amount of memory: you will need at least 1GB of virtual memory to compile Teleport. A 512MB instance without swap will not work.
    • This will build the latest version of Teleport.

    Get the source

    git clone https://github.com/gravitational/teleport.git
    cd teleport
    

    To perform a build

    make full
    

    tsh dynamically links against libfido2 by default, to support development environments, as long as the library itself can be found:

    $ brew install libfido2 pkg-config  # Replace with your package manager of choice
    
    $ make build/tsh
    > libfido2 found, setting FIDO2=dynamic
    > (...)
    

    Release binaries are linked statically against libfido2. You may switch the linking mode using the FIDO2 variable:

    make build/tsh FIDO2=dynamic # dynamic linking
    make build/tsh FIDO2=static  # static linking, for an easy setup use `make enter`
                                 # or `build.assets/macos/build-fido2-macos.sh`.
    make build/tsh FIDO2=off     # doesn't link libfido2 in any way
    

    tsh builds with Touch ID support require access to an Apple Developer account. If you are a Teleport maintainer, ask the team for access.

    Build output and run locally

    If the build succeeds, the installer will place the binaries in the build directory.

    Before starting, create default data directories:

    sudo mkdir -p -m0700 /var/lib/teleport
    sudo chown $USER /var/lib/teleport
    
    Running Teleport in a hot reload mode

    To speed up your development process, you can run Teleport using CompileDaemon. This will build and run the Teleport binary, and then rebuild and restart it whenever any Go source files change.

    1. Install CompileDaemon:

      go install github.com/githubnemo/CompileDaemon@latest
      

      Note that we use go install instead of the suggested go get, because we don't want CompileDaemon to become a dependency of the project.

    2. Build and run the Teleport binary:

      make teleport-hot-reload
      

      By default, this runs a teleport start command. If you want to customize the command, for example by providing a custom config file location, you can use the TELEPORT_ARGS parameter:

      make teleport-hot-reload TELEPORT_ARGS='start --config=/path/to/config.yaml'
      

    Note that you still need to run make grpc if you modify any Protocol Buffers files to regenerate the generated Go sources; regenerating these sources should in turn cause the CompileDaemon to rebuild and restart Teleport.

    Web UI

    The Teleport Web UI resides in the web directory.

    Rebuilding Web UI for development

    To rebuild the Teleport UI package, run the following command:

    make docker-ui
    

    Then you can replace Teleport Web UI files with the files from the newly-generated /dist folder.

    To enable speedy iterations on the Web UI, you can run a local web-dev server.

    You can also tell Teleport to load the Web UI assets from the source directory. To enable this behavior, set the environment variable DEBUG=1 and rebuild with the default target:

    # Run Teleport as a single-node cluster in development mode:
    DEBUG=1 ./build/teleport start -d
    

    Keep the server running in this mode, and make your UI changes in /dist directory. For instructions about how to update the Web UI, read the web README.

    Managing dependencies

    All dependencies are managed using Go modules. Here are the instructions for some common tasks:

    Add a new dependency

    Latest version:

    go get github.com/new/dependency
    

    and update the source to use this dependency.

    To get a specific version, use go get github.com/new/dependency@version instead.

    Set dependency to a specific version
    go get github.com/new/dependency@version
    
    Update dependency to the latest version
    go get -u github.com/new/dependency
    
    Update all dependencies
    go get -u all
    
    Debugging dependencies

    Why is a specific package imported?

    go mod why $pkgname

    Why is a specific module imported?

    go mod why -m $modname

    Why is a specific version of a module imported?

    go mod graph | grep $modname

    License

    Teleport is distributed in multiple forms with different licensing implications.

    The Teleport API module (all code in this repository under /api) is available under the Apache 2.0 license.

    The remainder of the source code in this repository is available under the GNU Affero General Public License. Users compiling Teleport from source must comply with the terms of this license.

    Teleport Community Edition builds distributed on http://goteleport.com/download are available under a modified Apache 2.0 license.

    FAQ

    Is Teleport production-ready?

    Yes, Teleport is production-ready and used to protect and facilitate access to the most precious and mission-critical applications at many of today's leading companies. You can learn more about the companies using Teleport in production on our website.

    Is Teleport secure?

    Yes, Teleport has completed several security audits from nationally and internationally recognized technology security companies. We publicize audit results, our security philosophy, and related information on our trust page.

    What resources does Teleport support?

    Teleport secures access to a broad set of infrastructure resources, including Linux servers, Windows desktops, Kubernetes clusters, databases, internal web applications, cloud provider APIs and consoles (such as AWS, Azure, and GCP), and Model Context Protocol (MCP) servers used by AI agents.

    How is Teleport deployed?

    Teleport can be deployed to fit most environments, either as a self-hosted cluster on Linux or Kubernetes or using Teleport Enterprise Cloud. In all cases, Teleport agents run close to your resources and connect through an Auth Service and Proxy Service that enforces identity, access control, and audit.

    Is Teleport an identity provider (IdP)?

    Teleport uses existing IdPs (Okta, Google Workspace, Microsoft Entra ID, or GitHub) to issue short-lived certificates and apply access policies. Teleport can also be configured to act as a SAML IdP to authenticate users into applications when needed.

    Does Teleport require credential handling or secrets management?

    Teleport eliminates long-lived passwords, SSH keys, database credentials, credential rotations, and vault processes by issuing short-lived, auto-expiring mTLS and SSH certificates bound to human or non-human identity.

    Is Teleport a Privileged Access Management (PAM) solution?

    Teleport provides modern PAM software capabilities like strong authentication, session recording, policy-based access, and JIT elevation without secrets, credential rotation, or vault dependencies. This enables controlled, audited access to servers, Kubernetes, databases, cloud consoles, and other privileged environments using short-lived certificates and role-based policies.

    Is Teleport a Just-in-Time (JIT) access solution?

    Teleport enables JIT access through time-bound Access Requests. Users request the roles or resources they temporarily need, policies decide whether approval is required, and privileges automatically expire. This approach maintains least privilege while keeping access workflows efficient and predictable.

    Does Teleport secure access to Kubernetes?

    Teleport can proxy and secure Kubernetes access with identity-based authentication, role-based access controls, and detailed auditing of kubectl activity.

    Does Teleport support SPIFFE?

    Teleport supports SPIFFE-compatible identities for workloads, allowing it to participate in SPIFFE ecosystems and federation. Teleport issues short-lived SVIDs and can integrate with external PKI hierarchies.

    Is Teleport an alternative for VPNs or bastion hosts?

    Yes. Teleport is frequently used as an alternative to traditional VPNs and bastion hosts, enabling direct, identity-based access to resources instead of broad network access.

    Does Teleport secure the Model Context Protocol (MCP) and AI agents?

    Teleport secures MCP connections by placing identity-aware policy enforcement between MCP clients and servers. This ensures all tool invocations are authenticated, authorized, and audited without custom authorization code and that sensitive systems are protected from overly broad access.