一、Teleport 简介

Teleport 是一款开源、零信任架构的基础设施统一访问平台,集「堡垒机、内网穿透、统一身份认证、全程审计、会话录制」于一体。

彻底替代传统 Jumpserver 堡垒机 + FRP 内网穿透 + VPN 组合,单二进制部署、无依赖、高性能、全协议支持。

统一管理Linux/Windows服务器、Kubernetes集群、数据库、Web应用,替代传统堡垒机+内网穿透方案

当前教程版本:Teleport v18.8.2(2026最新稳定版)

官方文档:https://goteleport.com/docs/

1.1 核心组件工作原理

Teleport 集群由三大核心服务组成,分工明确:

  • 认证服务(auth_service):集群CA证书中心,负责签发证书、身份校验、权限管控、用户管理,核心核心组件。
  • 代理服务(proxy_service):集群入口,承接所有用户访问、节点隧道、流量转发,对外暴露访问地址。
  • 资源服务:包含 SSH 服务、Windows 桌面服务、Web 应用代理服务,负责对接各类内网资源。

二、Teleport 核心优势对比

2.1 Teleport vs 传统堡垒机(Jumpserver)

功能 Teleport Jumpserver
部署难度 单二进制、无依赖、一键部署 依赖MySQL/Redis/Nginx,部署复杂笨重
性能 Golang 原生,高并发低占用 Python 架构,高并发易卡顿
协议支持 SSH、RDP、Web应用、K8s、数据库全覆盖 仅支持SSH、RDP,其他需插件
内网穿透 内置反向隧道,无需额外工具 无自带穿透,需搭配FRP/VPN
审计能力 全程会话录制、命令审计、文件传输审计 基础录制,高级审计需付费
身份安全 MFA、SSO、无密码登录、设备信任 仅基础账号密码+MFA

2.2 Teleport vs FRP 内网穿透

功能 Teleport FRP
安全能力 RBAC细粒度权限、MFA、证书认证、全程审计 无任何权限与安全校验,端口暴露即裸奔
访问控制 按用户、资源、时间、标签精准管控 仅端口转发,无用户维度管控
审计回放 全部操作可日志、可回放 无任何审计记录
使用体验 统一Web/CLI客户端,一键连接所有资源 纯配置文件,无管理界面

总结:FRP只是「端口转发工具」,Teleport是「带穿透的零信任安全堡垒平台」。

三、服务端部署(公网堡垒机)

3.1 环境要求

  • 系统:Ubuntu20.04+/CentOS7+/Debian10+
  • 配置:最低2C4G,生产建议4C8G
  • 开放端口:3023、3025、3080(必开)
  • 域名:提前准备解析到公网IP的域名(本文采用:feims.cn)使用IP也可以

3.2 一键安装 v18.8.2

# 安装指定版本
curl https://cdn.teleport.dev/install.sh | bash -s 18.8.2

# 验证版本
teleport version

3.3 SSL 证书配置(核心避坑点)

Teleport 强制 HTTPS 访问,证书配置是重中之重,证书信息不匹配、缺失域名/IP都会导致节点无法正常加入集群、网页报安全证书错误。这里提供**正规CA签发证书(生产推荐)自签证书(测试临时使用)**两种部署方案。

方案一:正规 CA 签发证书(生产环境首选)

生产环境建议使用正规CA机构签发的可信SSL证书,避免浏览器安全告警、保证集群访问安全性,可申请泛域名证书 *.feims.cn,适配多应用子域名访问。

选择crt/key格式的进行下载

证书下载后一般包含三个核心文件:

  • feims.cn_public.crt:服务器域名证书
  • feims.cn_chain.crt:根证书 + 中间证书链(用于补全证书信任链)
  • feims.cn.key:域名私钥文件

Teleport 要求合并证书链后使用,执行以下命令合并配置:

# 1. 合并服务器证书 + 中间证书链(顺序绝对不能颠倒)
cat feims.cn_public.crt feims.cn_chain.crt > /var/lib/teleport/server.crt

# 2. 复制私钥文件到指定目录
cp feims.cn.key /var/lib/teleport/server.key

# 3. 设置私钥最小权限(安全加固,必须执行)
chmod 600 /var/lib/teleport/server.key
方案二:OpenSSL 自签证书

测试环境可使用自签证书快速部署,自签证书必须包含域名+IP,否则节点无法加入集群。

# 创建证书目录
mkdir -p /var/lib/teleport

# 生成10年有效期自签证书
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
  -keyout /var/lib/teleport/server.key \
  -out /var/lib/teleport/server.crt \
  -subj "/CN=feims.cn" \
  -addext "subjectAltName=DNS:feims.cn,IP:你的公网IP"

# 权限固化
chmod 600 /var/lib/teleport/server.key

3.4 完整服务端配置 /etc/teleport.yaml

version: v3
teleport:
  nodename: teleport-server
  data_dir: /var/lib/teleport
  log:
    output: stderr
    severity: INFO
    format:
      output: text

# 核心认证服务
auth_service:
  enabled: "yes"
  listen_addr: 0.0.0.0:3025
  proxy_listener_mode: multiplex

# 本机SSH节点服务
ssh_service:
  enabled: "yes"

# 对外代理服务
proxy_service:
  enabled: "yes"
  listen_addr: 0.0.0.0:3023
  web_listen_addr: 0.0.0.0:3080
  public_addr: feims.cn:3080
  https_keypairs:
  - key_file: /var/lib/teleport/server.key
    cert_file: /var/lib/teleport/server.crt

3.5 启动服务并初始化管理员

# 开机自启+启动
systemctl enable --now teleport

# 查看状态
systemctl status teleport

# 实时日志
journalctl -u teleport -f

验证Web UI:访问 https://feims.cn:3080,自签证书浏览器会提示不安全→点【高级→继续访问】。

3.6 创建初始管理员用户

# admin用户名,全权限:管理堡垒+登录机器+审计日志;--logins填写你要登录服务器的账号root,***
tctl users add admin --roles=access,editor,auditor --logins=root

执行后会生成 1小时有效 的初始化链接,打开设置密码、绑定MFA即可登录后台。

Teleport默认强制使用多因素认证。它 支持一次性密码(OTP)和多因素认证器(WebAuthn)。

使用微软或Google的 Authenticator MFA 工具扫码绑定后即可开始使用

四、内网 Linux 节点接入(反向穿透、无需公网IP)

Teleport Linux 节点原生支持反向隧道内网穿透,内网机器主动连接公网堡垒机,无需端口映射、无需公网IP。

Web后台 → 添加服务器 → 选择Linux,复制自动生成的安装命令执行即可:

自签证书curl需要加-k选项

# 自签证书环境必须加 -k 跳过证书校验
sudo bash -c "$(curl -kfsSL https://feims.cn:3080/scripts/xxx/install-node.sh)"

启动后自动注册集群,后台 Resources 即可看到机器,直接Web连接/命令行连接。

五、内网 Windows 桌面接入

5.1 前置条件

  • 系统:Win10/11 专业版/企业版(家庭版无RDP)
  • 开启系统远程桌面、放行3389入站防火墙
  • 社区版硬性限制:Windows本地用户模式 不支持反向穿透,必须堡垒机可以直连Windows3389

Linux 主机支持「反向隧道内网穿透」,但 Teleport 社区版的 Windows 本地桌面接入 = 纯正向代理,不支持反向隧道! 必须你的公网 Linux 堡垒机 能直接访问 Windows 3389 端口,才能连接。

5.2 Windows 客户端配置(管理员权限执行)

# 1. 下载集群CA证书
curl.exe -fo teleport.cer https://feims.cn:3080/webapi/auth/export?type=windows

# 2. 下载对应版本认证组件
curl.exe -fo teleport-windows-auth-setup-v18.8.2-amd64.exe https://cdn.teleport.dev/teleport-windows-auth-setup-v18.8.2-amd64.exe

# 3. 一键安装(自动关闭NLA、导入证书、安装LSA插件、自动重启)
teleport-windows-auth-setup-v18.8.2-amd64.exe install --cert=teleport.cer -r

5.3 服务端开启Windows桌面服务

编辑 /etc/teleport.yaml 追加配置:

windows_desktop_service:
  enabled: true
  listen_addr: 0.0.0.0:13389
  static_hosts:
  - name: win11
    ad: false
    addr: 你的WindowsIP:3389
    labels:
      env: office
      os: windows11
# 重启服务
systemctl restart teleport

5.4 创建Windows桌面访问权限

cat > windows-desktop-admins.yaml <<EOF
kind: role
version: v6
metadata:
  name: windows-desktop-admins
spec:
  allow:
    windows_desktop_labels:
      "*": "*"
    windows_desktop_logins: ["Administrator","user01"]
EOF

# 载入角色
tctl create -f windows-desktop-admins.yaml

# 给管理员赋权
ROLES=$(tsh status -f json | jq -r '.active.roles | join(",")')
tctl users update admin --set-roles="${ROLES},windows-desktop-admins"

5.5 必做避坑配置

echo "127.0.0.1 teleport-server" >> /etc/hosts

最终操作:Web完全退出重登,Resources-Desktops 即可连接Windows桌面。

5.6 公网堡垒机+内网Windows 解决方案

由于社区版Windows桌面不支持反向隧道,内网Windows无法被公网堡垒机直连时,两种方案:

  1. 最优方案:内网部署一台Linux中转节点运行Desktop Service,反向连公网堡垒机,内网Linux连Windows3389
  2. 临时方案:FRP穿透Windows3389到公网,让堡垒机直连

六、内网 Web 网站代理

核心区别:Web应用代理 完全支持反向隧道内网穿透,和Linux主机一致,无需公网IP、无需暴露端口。

6.1 内网节点配置APP代理

首先需要在节点上安装teleport命令

在内网机器执行官方生成的部署命令:

例如:

# 根据情况进行修改
teleport configure --output=$HOME/.config/teleport/app_config.yaml \
--app-name=test \  
--app-uri=http://localhost:8181 \
--roles=app \
--token=你的token \
--proxy=feims.cn:3080 \
--data-dir=$HOME/.config/teleport

# 启动agent
./teleport start --config=$HOME/.config/teleport/app_config.yaml

你的 proxy 域名:feims.cn:3080、app-name=test → 自动拼接 test.feims.cn:3080,就是你现在跳转地址 此时最好有配置泛域名解析和泛域名证书*.feims.cn

七、基础使用方法

7.1 浏览器 Web 终端(免安装,全平台通用)

无需安装任何软件,直接浏览器打开堡垒机地址即可登录操作,支持服务器、Windows 桌面、内网应用一站式访问。

7.2 Windows / Mac 图形客户端 Teleport Connect

官方可视化客户端,登录后图形化展示所有纳管资源,一键连接,日常运维首选。

7.3 Linux 命令行客户端 tsh

适用于 Linux 服务器环境、脚本自动化运维,先安装客户端:

curl https://cdn.teleport.dev/install-connect.sh | bash -s 18.8.2

常用操作命令

# 客户端登录集群
tsh login --proxy=feims.cn:3080 --user=admin

# 查看所有资源
tsh ls

# SSH连接机器
tsh ssh root@节点名

# 上传文件
tsh scp 本地文件 root@节点:/路径

# 下载文件
tsh scp root@节点:/远程文件 本地路径
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐