Teleport 访问管理平台部署

Teleport 是由 Gravitational 开发的开源基础设施访问管理平台,提供了零信任安全模型下的 SSH、Kubernetes、数据库和 Web 应用访问管理。Teleport 自动颁发短期证书代替传统密码和密钥,所有访问都有完整的审计日志和会话录制。在搬瓦工 VPS 上部署 Teleport 可以构建一个安全的服务器访问入口,统一管理多台服务器的访问权限。

一、系统要求

  • 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
  • 内存:至少 2GB,推荐 4GB。
  • 磁盘:至少 20GB 可用空间(用于审计日志和会话录制)。
  • 域名:需要一个域名并配置 DNS 解析。

二、安装 Teleport

2.1 添加官方仓库

apt update && apt upgrade -y
curl https://goteleport.com/static/install.sh | bash -s

验证安装:

teleport version

2.2 手动安装(可选)

wget https://cdn.teleport.dev/teleport-v16-linux-amd64-bin.tar.gz
tar -xzf teleport-v16-linux-amd64-bin.tar.gz
cd teleport
./install

三、配置 Teleport

3.1 生成配置文件

teleport configure --cluster-name=teleport.your-domain.com \
  --public-addr=teleport.your-domain.com:443 \
  --acme --acme-email=admin@your-domain.com \
  -o /etc/teleport.yaml

--acme 参数会自动通过 Let's Encrypt 获取 SSL 证书。

3.2 编辑配置文件

cat > /etc/teleport.yaml <<'EOF'
version: v3
teleport:
  nodename: teleport-server
  data_dir: /var/lib/teleport
  log:
    output: /var/log/teleport.log
    severity: INFO

auth_service:
  enabled: true
  cluster_name: teleport.your-domain.com
  listen_addr: 0.0.0.0:3025
  tokens:
    - "node:your-secure-join-token-here"

ssh_service:
  enabled: true
  labels:
    env: production
    role: master

proxy_service:
  enabled: true
  web_listen_addr: 0.0.0.0:443
  public_addr: teleport.your-domain.com:443
  https_keypairs: []
  acme:
    enabled: true
    email: admin@your-domain.com
EOF

四、启动 Teleport

systemctl enable teleport
systemctl start teleport
systemctl status teleport

4.1 创建管理员用户

tctl users add admin --roles=editor,access --logins=root,ubuntu

此命令会输出一个注册链接,在浏览器中打开该链接,设置密码和双因素认证(支持 TOTP 或 WebAuthn)。

五、Web 界面使用

在浏览器中访问 https://teleport.your-domain.com,使用创建的管理员账号登录。Web 界面提供了以下功能:

  • 服务器列表:查看所有已注册的服务器节点。
  • Web 终端:直接在浏览器中打开 SSH 终端。
  • 会话管理:查看和加入活跃的 SSH 会话。
  • 审计日志:查看所有访问记录和操作日志。
  • 用户管理:管理用户账号和访问权限。

六、添加节点

在其他搬瓦工 VPS 上安装 Teleport 并作为节点加入集群:

# 在新节点上安装 Teleport
curl https://goteleport.com/static/install.sh | bash -s

# 生成节点配置
cat > /etc/teleport.yaml <<'EOF'
version: v3
teleport:
  nodename: node-01
  data_dir: /var/lib/teleport
  auth_token: your-secure-join-token-here
  auth_servers:
    - teleport.your-domain.com:443

ssh_service:
  enabled: true
  labels:
    env: production
    role: worker

proxy_service:
  enabled: false

auth_service:
  enabled: false
EOF

systemctl enable teleport
systemctl start teleport

七、使用 tsh 客户端

tsh 是 Teleport 的命令行客户端,可以在本地机器上使用:

# 登录 Teleport 集群
tsh login --proxy=teleport.your-domain.com:443 --user=admin

# 查看可用服务器
tsh ls

# SSH 连接到服务器
tsh ssh root@node-01

# 安全复制文件
tsh scp file.txt root@node-01:/tmp/

八、角色和权限管理

# 创建只读角色
cat > readonly-role.yaml <<'EOF'
kind: role
version: v7
metadata:
  name: readonly
spec:
  allow:
    logins: ['ubuntu']
    node_labels:
      env: 'production'
    rules:
      - resources: ['session']
        verbs: ['list', 'read']
  options:
    max_session_ttl: 8h
EOF

tctl create readonly-role.yaml

# 创建用户并分配角色
tctl users add viewer --roles=readonly --logins=ubuntu

九、会话录制与回放

Teleport 默认录制所有 SSH 会话,通过 Web 界面可以回放历史会话:

# 查看审计日志
tctl audit ls

# 导出会话录制
tctl audit export --format=json > audit.json

十、常见问题

证书获取失败

确保域名 DNS 已正确解析到 VPS IP,并且 443 端口未被其他服务占用:

ufw allow 443/tcp
ufw allow 3025/tcp

节点无法加入集群

检查 auth_token 是否正确,以及 auth_servers 地址是否可达。

总结

Teleport 是企业级的基础设施访问管理平台,提供了零信任安全模型下的统一访问入口。在搬瓦工 VPS 上部署 Teleport 可以安全地管理多台服务器的访问权限,并拥有完整的审计和录制功能。建议选择 2GB 以上内存的方案。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。