保障 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
服务的状态
。
如下所示,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瀏覽器與Teleport互動,使用其Web UI,但首先,您必須設置Web UI訪問和管理員用戶憑證。
要設置Teleport Web UI訪問和管理員憑證,請按照以下步驟操作:
訪問您在“在Ubuntu上安裝和配置Gravitational Teleport”部分第三步中配置的Teleport代理URL(即https://teleport.example.com)。
如果成功,您將會看到下面的Teleport登錄頁面。不幸的是,您暫時無法登錄。您必須設置管理員用戶和雙因素身份驗證(第二步)。

在您的主機伺服器上運行以下Teleport CLI工具(tctl
)命令來執行以下操作:
- 創建(
add
)一個專用的Teleport管理員
用戶。 - 允許
管理員
用戶使用指定的登錄名稱(root
、ec2-user
和ubuntu
)登錄SSH主機。 - 將角色
access
和editor
分配給管理員用戶。
一旦添加,從成功添加管理員用戶的輸出中複製生成的邀請鏈接。

導航到您在第三步中複製的邀請鏈接,然後在歡迎頁面上點擊GET STARTED。此操作讓您開始設置管理員用戶。

接下來,為管理員用戶提供並確認一個強密碼,然後點擊NEXT繼續。

打開您的身份驗證應用程序,掃描QR碼,在必填字段中輸入生成的身份驗證碼,然後點擊SUBMIT。此過程讓您為您的設備設置雙因素身份驗證,增加了額外的安全層。

6. 現在,點擊前往集群以訪問您的 Teleport 帳戶。

您的瀏覽器將重定向到 Teleport 儀表板,如下所示,顯示您運行 Teleport 的主機伺服器。請注意,您的主機伺服器是 Teleport 目前處理的唯一可用資源。

使用 Teleport 添加和管理資源
現在您可以訪問您的 Teleport 儀表板,其中僅有一個可用資源。但當您可以在其中管理多個資源時,集中式平台才真正發揮其優勢。
借助 Teleport 強大的資源管理功能,您可以輕鬆地將額外的伺服器、資料庫或其他基礎架構組件納入,全部都可以從單一界面進行管理。
要使用 Teleport 管理資源,請按照以下步驟進行:
1. 在 Teleport 儀表板上,點擊註冊新資源(右上方)以開始註冊新資源。

2. 從您可以潛在添加安全訪問的眾多資源中挑選一個。本教程的選擇是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/