确保 SSH 访问安全对于维护服务器基础架构的完整性和安全性至关重要。如果您正在努力有效地保护服务器访问权限,不要担心。Gravitational Teleport 出现作为一种领先的解决方案,彻底改变了团队管理和加固 SSH 安全性的方式。
在本教程中,您将揭开 Teleport 的复杂性,为您提供保护服务器基础架构所需的基本知识。从无缝访问管理到强大的安全功能,您将探索 Teleport 如何保护您的服务器访问权限。
通过 Gravitational Teleport 掌握服务器安全,加固您的基础架构!
先决条件
开始进行这个 Gravitational Teleport 教程需要一定的基础知识和资源。因此,请确保满足以下列出的先决条件,以便跟随本教程:
- 两台 Linux 服务器:一台服务器(主机)用作堡垒主机,另一台用于使用 Teleport 限制 SSH 访问 – 本教程使用两台 Ubuntu 22.04 EC2 实例。
- 允许主机服务器的 HTTPS 入口流量(请参阅您的云提供商的文档)。
💡 注意:本教程使用AWS EC2实例。所需更改已应用于安全组>入站规则。请参阅AWS文档了解如何配置安全组入站规则。
- A registered domain name with DNS A record pointing to your host server’s IP address.
- A multi-factor authenticator app such as Authy, Google Authenticator, or Microsoft Authenticator.
在Ubuntu上安装和配置Gravitational Teleport
在完成DNS设置之后,您必须为您的Ubuntu服务器配备强大的安全功能——Gravitational Teleport。就像一座大门敞开的城堡,如果没有适当的安全措施,您的服务器将容易受到未经授权的访问和潜在的违规行为威胁。
Gravitational Teleport确保了强大的防御,只允许授权的个人访问您的服务器要塞。
要安装和配置Gravitational Teleport,请执行以下操作:
1. SSH登录主机服务器,运行以下命令更新软件包管理器的存储库,并安装Teleport。在撰写本文时,最新版本为15.1.9
,但您可以随时查看所有发布版本。
💡 注意:本教程使用高级包管理工具(APT)。如果 Teleport 安装脚本无法正常工作,请访问官方 Teleport 文档以获取适合您包管理器的安装说明。
在运行上述安装脚本后,您应该会得到类似的输出。

2. 安装完成后,请执行以下systemctl
命令来验证teleport
服务的status
。
如下所示,Teleport 目前未激活且已禁用。
在启用和启动 Teleport 服务之前,您必须按照以下步骤为 Teleport 设置一些配置。

3. 接下来,运行此teleport
命令以完成以下操作:
- 生成名为
/etc/teleport.yaml
的配置文件供 Teleport 使用。安装期间设置的 Teleport Systemd 服务需要此文件来启动 Teleport。
- 指定电子邮件地址(替换
<YOUR_EMAIL>
)以用于 ACME 证书注册和通知。--acme
标志告诉 Teleport 自动从Let’s Encrypt获取证书。
- 指定Teleport
--cluster-name
,通常由Teleport代理服务器的URL表示(替换<YOUR_TELEPORT_PROXY_URL>
)。
如果配置正确,您将在终端上看到以下输出。

4. 现在,运行下面的每个命令来启用
和启动
Teleport服务。
这些命令不会在终端上输出任何内容,但您将在下一步中验证更改。
5. 最后,运行以下systemctl
命令来确认Teleport服务的状态
。
下面的输出确认了Teleport服务处于活动状态,并正在运行,这意味着您可以访问UI并执行操作。

设置Teleport Web UI访问和管理员凭据
Teleport已经启动,但是如何无缝管理用户访问、监视会话和监视服务器基础设施?您可以通过其Web UI在Web浏览器中与Teleport交互,但首先,您必须设置Web UI访问和管理员用户凭据。
要设置Teleport Web UI访问和管理员凭据,请按照以下步骤操作:
访问您在“在Ubuntu上安装和配置Gravitational Teleport”部分第三步中配置的Teleport代理URL(即,https://teleport.example.com)。
如果成功,您将看到下面的Teleport登录页面。不幸的是,您目前还不能登录。您必须设置一个管理员用户和双因素身份验证(第二步)。

在您的主机服务器上,运行以下Teleport CLI工具(tctl
)命令来执行以下操作:
- 创建一个专用的Teleport
管理员
用户。 - 允许
管理员
用户使用指定的登录名登录SSH主机:root
、ec2-user
和ubuntu
。 - 为管理员用户分配角色
访问
和编辑
。
添加后,从成功添加管理员用户的输出中复制生成的邀请链接。

在新的浏览器选项卡中导航到您在第三步中复制的邀请链接,然后单击欢迎页面上的GET STARTED。此操作可让您开始设置管理员用户。

接下来,为管理员用户提供并确认一个强密码,然后单击NEXT以继续。

打开您的身份验证器应用程序,扫描QR码,输入生成的身份验证器代码到必填字段中,然后单击SUBMIT。
此过程可让您在设备上设置双因素身份验证,提供额外的安全层。

现在,点击转到群集以访问您的Teleport帐户。

您的浏览器将重定向到Teleport仪表板,显示您Teleport运行的主机服务器,如下所示。请注意,您的主机服务器是Teleport当前处理的唯一可用资源。

使用Teleport添加和管理资源
您现在可以访问您的Teleport仪表板,其中只有一个可用资源。但是,当您可以在其中管理多个资源时,集中式平台真正发挥作用。
借助Teleport强大的资源管理功能,您可以轻松地将其他服务器、数据库或其他基础设施组件纳入,所有操作都可以通过单一界面完成。
要使用Teleport管理资源,请按照以下步骤进行:
1. 在Teleport仪表板上,点击注册新资源(右上角),以开始注册新资源。

2. 从您可以使用Teleport添加安全访问的众多资源中选择一个。本教程选择的是Ubuntu 14.04+服务器,如下所示。

3. 复制Teleport生成的命令,您将在下一步中运行该命令。

4. 现在,在第二个服务器中打开终端,并运行您在第三步中复制的命令,以添加服务器以进行访问管理。
如果成功,您将看到如下屏幕截图中的输出。

5. 添加后,点击下一步,并通过点击下一步和完成完成后续提示。

最后,导航到您的 Teleport 仪表板,您将看到新添加的实例,如下图所示。

结论
就是这样——成功安装和配置了 Gravitational Teleport,设置了 Teleport Web UI,并建立了管理员凭据。在本教程中,您已经获得了有关有效保护和管理服务器访问的宝贵见解!
现在,为什么不将这些新获得的知识提升一级呢?在您的本地计算机上专门安装 Teleport CLI(tsh
),并通过 CLI 而不是 UI 连接到您的 Teleport 服务器。
为更多资源实施访问管理,如 Kubernetes 集群等等!
Source:
https://adamtheautomator.com/gravitational-teleport/