Teleport 堡垒机部署使用
一、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无法被公网堡垒机直连时,两种方案:
- 最优方案:内网部署一台Linux中转节点运行Desktop Service,反向连公网堡垒机,内网Linux连Windows3389
- 临时方案: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@节点:/远程文件 本地路径
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)