实验环境拓扑以下:linux
客户端windows主机在互联网上经过teleport堡垒机平台对内网主机nginx进行登陆维护。nginx
注意:若是使用teleport的免密登陆nginx主机,须要提早实现teleport主机的针对nginx主机基于秘钥的验证。web
teleport下载地址:https://tp4a.com/downloaddocker
首先下载服务端安装包,放到指定目录中,而后解压安装:shell
[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。两个服务能够同时启动、中止、重启,也可单独操做其中的一个。windows
操做完整的 teleport 服务:服务器
仅操做核心服务 core:网络
仅操做网页服务 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:7190ssh
填写系统帐号密码,点击开始配置便可:
填写被管理主机的信息,包括系统,远程主机的地址,链接方式,名称等:
其中“链接模式”一项,若是此远程主机能够由teleport服务器直接链接,则能够选择“直接链接”模式,例如远程主机与teleport服务器处于同一个局域网中,或者远程主机是开放了远程链接端口的云端服务器等。
若是远程主机与teleport服务器之间须要经过其余网络设备进行端口映射方可链接的,则须要选择“端口映射”模式。在这种模式下,teleport服务器实际上链接的是配置的路由主机的地址和映射端口,而非远程主机地址。
端口映射模式经常使用于如下场景:
填写远程主机的登陆方式:
链接协议:能够选择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-----
为便于管理(例如运维受权或者审计受权时),能够将主机进行分组。
分组操做很是简单,在“资产-主机分组管理”页面,点击右上角的“建立主机分组”按钮并填写分组名称,便可创建一个新的分组。
分组创建以后,点击某个分组的名称,便可进入对应分组的主机成员列表页面,管理此分组中的主机。在此页面中能够添加或者删除主机。
向分组中添加主机,或者删除分组,均不影响现存的主机数据,但若是此分组已经在运维策略或者审计策略中被受权了,那么删除分组会影响到分组中全部主机的受权。
!
点击对应的策略名称,对用户以及该用户能够管理的主机进行受权:
-- 再新建一个策略,受权xuzhichao用户能够管理其中一台主机:
在windows终端上安装teleport的客户端助手。
点击“助手设置”
-- 能够把登陆远程主机的工具设置为xshell或CRT等工具:
能够查看在线登陆的用户,同时会记录认证失败的历史会话:
能够对历史登陆进行审计,能够以日志或录屏的方式查看用户的历史操做: