1 環境搭建
實驗環境拓撲如下:
客戶端windows主機在互聯網上通過teleport堡壘機平台對內網主機nginx進行登錄維護。
注意:如果使用teleport的免密登錄nginx主機,需要提前實現teleport主機的針對nginx主機基於秘鑰的驗證。
2 teleport工具搭建
-
teleport下載地址:https://tp4a.com/download
-
首先下載服務端安裝包,放到指定目錄中,然后解壓安裝:
[root@xuzhichao ~]# ll teleport-server-linux-x64-3.2.2.tar.gz -rw-r--r-- 1 root root 23137304 Jul 29 22:00 teleport-server-linux-x64-3.2.2.tar.gz [root@xuzhichao ~]# tar xf teleport-server-linux-x64-3.2.2.tar.gz [root@xuzhichao ~]# ll teleport-server-linux-x64-3.2.2 total 4 drwxrwxr-x 2 xu xu 80 Sep 17 2018 daemon drwxrwxr-x 5 xu xu 39 Jan 23 2019 data drwxrwxr-x 3 xu xu 33 Jan 10 2019 script -rwxrwxr-x 1 xu xu 320 Jan 23 2019 setup.sh [root@xuzhichao ~]# cd teleport-server-linux-x64-3.2.2/ [root@xuzhichao teleport-server-linux-x64-3.2.2]# ./setup.sh []===========================================================================[] | Teleport Server Installation | |===========================================================================| | ver: 3.2.2 | | author: apex.liu@qq.com | []===========================================================================[] Welcome to install Teleport Server! NOTICE: There are a few steps need you enter information or make choice, if you want to use the DEFAULT choice, just press `Enter` key. Otherwise you need enter the highlight character to make choice. Prepare installation... - check local installation ... [not exists] Set installation path [/usr/local/teleport]: <==指定程序的安裝路徑; - copy [/root/teleport-server-linux-x64-3.2.2/data/bin] -> [/usr/local/teleport/bin] - copy [/root/teleport-server-linux-x64-3.2.2/data/www] -> [/usr/local/teleport/www] - copy [/root/teleport-server-linux-x64-3.2.2/data/tmp/etc] -> [/usr/local/teleport/data/etc] process [daemon.in] to [/etc/init.d/teleport] process [start.sh.in] to [/usr/local/teleport/start.sh] process [stop.sh.in] to [/usr/local/teleport/stop.sh] process [status.sh.in] to [/usr/local/teleport/status.sh] start services... starting teleport web ... [done] starting teleport core server ... [done] check services status... teleport web server is running. teleport core server is running. --==[ ALL DONE ]==--
-
Teleport 有兩個服務:核心服務
core
和網頁服務web
。兩個服務可以同時啟動、停止、重啟,也可單獨操作其中的一個。-
操作完整的 teleport 服務:
- 啟動:
/etc/init.d/teleport start
- 停止:
/etc/init.d/teleport stop
- 重啟:
/etc/init.d/teleport restart
- 查看運行狀態:
/etc/init.d/teleport status
- 啟動:
-
僅操作核心服務 core:
- 啟動:
/etc/init.d/teleport start core
- 停止:
/etc/init.d/teleport stop core
- 重啟:
/etc/init.d/teleport restart core
- 啟動:
-
僅操作網頁服務 web:
- 啟動:
/etc/init.d/teleport start web
- 停止:
/etc/init.d/teleport stop web
- 重啟:
/etc/init.d/teleport restart web
- 啟動:
#安裝完成teleport后自動啟動服務: [root@xuzhichao ~]# ss -ntlp | grep tp_ LISTEN 0 128 127.0.0.1:52080 *:* users:(("tp_core",pid=1415,fd=6)) LISTEN 0 128 *:7190 *:* users:(("tp_web",pid=1397,fd=5)) LISTEN 0 8 *:52089 *:* users:(("tp_core",pid=1415,fd=23)) LISTEN 0 10 *:52189 *:* users:(("tp_core",pid=1415,fd=14)) LISTEN 0 8 *:52389 *:* users:(("tp_core",pid=1415,fd=25))
-
-
WEB登錄teleport:http://192.168.50.17:7190
填寫系統賬號密碼,點擊開始配置即可:
- 登錄頁面如下,輸入上面填寫的用戶名密碼即可登錄:
- 管理員登錄后可以看到teleport服務器的系統總覽:
3 teleport使用示例
3.1 資產管理-添加主機
- 點擊“資產”,“主機及賬號”,點擊“添加主機”:
-
填寫被管理主機的信息,包括系統,遠程主機的地址,連接方式,名稱等:
-
其中“連接模式”一項,如果此遠程主機可以由teleport服務器直接連接,則可以選擇“直接連接”模式,例如遠程主機與teleport服務器處於同一個局域網中,或者遠程主機是開放了遠程連接端口的雲端服務器等。
-
如果遠程主機與teleport服務器之間需要通過其他網絡設備進行端口映射方可連接的,則需要選擇“端口映射”模式。在這種模式下,teleport服務器實際上連接的是配置的路由主機的地址和映射端口,而非遠程主機地址。
-
端口映射模式常用於以下場景:
- teleport服務器處於公司內網,被維護的遠程主機在雲端且沒有公網IP,需要通過一台有公網IP的服務器進行跳轉。集群服務器常使用這種方式。
- 使用teleport服務器管理運行docker的主機以及進入docker內部進行管理。
-
3.2 資產管理-添加賬號
- 添加完主機后,還需要為此主機設置遠程登錄的賬號,點擊主機的賬號數量,或者右側操作菜單中的“管理遠程賬號”,會顯示遠程賬號管理對話框。
- 點擊“添加賬號”
-
填寫遠程主機的登錄方式:
-
連接協議:可以選擇ssh,telnet,rdp;
-
協議的端口;
-
SSH的認證方式,用戶名密碼和秘鑰認證;
-
遠程賬號:填寫登錄被管理主機的賬戶;
-
SSH私鑰:填寫teleport主機的私鑰文件/root/.ssh/id_rsa:
[root@xuzhichao ~]# cat /root/.ssh/id_rsa -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA5wjd4t7en6FxqPFymV2Z2iWOIIJsBgzP1WrfEA9KHSizgdJf vJZ9G38Tj30xAW56By3f6d3A1abMffnpCv7ijkiqachQuCshRBamVr9Y3RcLfihm dEhIJ6PTH0/lw1eu9DBGeusoluIJ/aIJv8bSSGojDRgP/qXIfuZmuTKb7HjQuA3I K9xKHG4P+0w8wej1HvBBI/7bcTFT4oy3fJbXcRleJu1KcSjotG5hcgtMRtNlY3Dj Gz1jwXiHGLle983hmUtdezYWqYpHXVtERR3kgmWEuCT1VMnJ+W4s7YYHauUAgFwF 2DvNf4vBuXsqxA7ugwG78mbMScFYCJ6C6zZ43QIDAQABAoIBAAEJUyV/ZnRE3yOo 4aC6gMQvwvF2ZFGqoQwODK4fw29aDWQZs4A/FJSY/1d3ck7VVgrOM+Dys7jBpM0z 383C0vVcchdDZMlOuDl7+IcPGLD1N4H7YGpJILm8zGepjhhQPmKuDMLkZyw2G2Fd 5rlLhQn6H+ohH4E+8SVQl0lhZr2q0uYGOvcTBdjsrXzR0WkKEhbCOxh72/dREEU6 tdTSh1eBlpaGQD6A/c3R5v1bQj5I4Oks2UtFIlIZMrETxcKCJxpw9dS3FEfwrna0 nReWPuBRdg+AFSWlFWleLfhCXQJlutfr7EUTsdMBdO0IEPI7e+D7UvkWffxO2caX pcVYFykCgYEA+rd8ve0Swv3ZslpbnarMM4CaAaeUbHEsYB3RI01WwxNOF2sAdeQz aHHDDsOqMxaEyYuA3ZWQy8US1CdmtWSEB+EfV0pFJjUdq6d76+87ezBrmTu6hu6C /uJKduLUCYOR9oPDVchA5zLPQ4YyaqeH8hzBRFrHQU5BJiqsHAPJZtcCgYEA6+cz 4Q4JKR/dJlapBReQdEU9/m2m/oU30K77FzQpTBBbvQ7JVMOcaqfuiVAfRR+oICaD o+UVcJmNEL5qUIOw79d2q+p9IhIP9Q99/1gz28SfCEEUiMJf/vEuvKAsiI+bGfa0 YpDhu+TfYelHB0C5ZHvYBEt2jcTJQ8RTnAbky2sCgYEAsV9wm/mGJXdsNVbhq/jy wJkB25vQUKv8hf9yPzRu5lHZFI455C3PBNw+8EoTNlN/HAta3uj6aH8DJB6/9iKn md91yc6cfzxiwlcaP7+faDbIWL895koFWQeFQPiWpCh18l4jqqOi7y4uHgppzrS5 Y9teC9rhTt1rD/Jukt9G9D8CgYEAsNEQ/6UnlJ1/g1b9RQXOjne/6c6Cls9/cHlX VqMQOSUhvekxWslrmj3Y+y8E4SjDOaXkkZoJoeZV57DxuvuaSYs0NdOCi2ECeOpt xFB2Pkl38hXlsEQQ8+QO5e8gshMBbEqQFjkGGXGJRbg2Nud6jiiNV1rAt65CNPsY uCAqqZUCgYAGtEF9Y+8GXmGGfS8BsJBCXPoFxd5lyVt3ouuYvEasgw4rOfExNXni IReLDiIK2whXIcfFv3yKv5YzIXG2nziBJSBzQ9rmAtqxbsCFDTZ8X/4xp4Y0/8H0 NAO8495nX8H66VtDb/ATzzYxQ+gvkQaPjPdKfM0QW9UaRpZeYklWdg== -----END RSA PRIVATE KEY-----
-
-
為便於管理(例如運維授權或者審計授權時),可以將主機進行分組。
分組操作非常簡單,在“資產-主機分組管理”頁面,點擊右上角的“創建主機分組”按鈕並填寫分組名稱,即可建立一個新的分組。
分組建立之后,點擊某個分組的名稱,即可進入對應分組的主機成員列表頁面,管理此分組中的主機。在此頁面中可以添加或者刪除主機。
向分組中添加主機,或者刪除分組,均不影響現存的主機數據,但如果此分組已經在運維策略或者審計策略中被授權了,那么刪除分組會影響到分組中所有主機的授權。
3.3 創建用戶
- 點擊“用戶”,“用戶管理”,“創建用戶”:
- 填寫用戶相關信息:
!
- 為用戶設置密碼:
3.4 運維授權
- 點擊展開左側菜單“運維”項目,然后點擊“運維授權”,即可打開運維授權管理頁面。只有具備運維授權權限的用戶可以查看此界面,並進行授權管理。
- 點擊“新建授權策略”,創建一個授權策略:
-
點擊對應的策略名稱,對用戶以及該用戶可以管理的主機進行授權:
- 授權admin用戶可以管理nginx主機組:
-- 再新建一個策略,授權xuzhichao用戶可以管理其中一台主機:
3.5 安裝客戶端助手
-
在windows終端上安裝teleport的客戶端助手。
-
點擊“助手設置”
-- 可以把登錄遠程主機的工具設置為xshell或CRT等工具:
- 重啟客戶端助手讓配置生效
3.6 登錄測試效果
- 使用個人賬號登錄過后,點擊“運維”,“主機運維”,SSH連接對應的主機,會自動跳出xshell界面,直接登錄到對應的nginx主機中:
-
可以查看在線登錄的用戶,同時會記錄認證失敗的歷史會話:
-
可以對歷史登錄進行審計,可以以日志或錄屏的方式查看用戶的歷史操作:
- 點擊“回放”可以查看錄像: