简易版跳板机-teleport使用
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主机中:


可以查看在线登录的用户,同时会记录认证失败的历史会话:
可以对历史登录进行审计,可以以日志或录屏的方式查看用户的历史操作:

- 点击“回放”可以查看录像:

简易版跳板机-teleport使用的更多相关文章
- Linux下安装并使用jumpserver跳板机
堡垒机介绍: 官方网站:https://www.jumpserver.org/ 在一个特定网络环境下,为了保障网络和数据不受外界入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系 ...
- Shell实现跳板机,为什么用跳板机
整理自:http://blog.chinaunix.net/uid-22101889-id-3167454.html 注意:请谨慎使用,到现在为止,使用了,我还没找到改回去的方法. 1. 问题 ...
- 项目(五)jumpserver企业开源跳板机搭建
跳板机是什么?跳板机是运维堡垒主机的另个称呼.作为技术或者运维人员应该不会陌生.企业为了服务器的安全,通常所有的ssh连接都是通过跳板机来完成,以便于对ssh连接进行验证和管理. 接下来,我来讲述一下 ...
- .NET Core的文件系统[5]:扩展文件系统构建一个简易版“云盘”
FileProvider构建了一个抽象文件系统,作为它的两个具体实现,PhysicalFileProvider和EmbeddedFileProvider则分别为我们构建了一个物理文件系统和程序集内嵌文 ...
- MVC 验证码实现( 简易版)
现在网站上越来越多的验证码,使用场景也是越来越多,登陆.注册.上传.下载...等等地方,都有可能大量使用到验证码,那么制作验证码到底有多简单呢?我们一起来看下最简易版的验证码实现过程- 验证码的基本步 ...
- 简易版自定义BaseServlet
这几天在学Java Web,一直在思考Servlet重用的问题,就用java的反射机制实现自定义的简易版BaseServlet; 该方式有点像struts2 利用映射获取前端的参数.有兴趣的同学可以自 ...
- 简易版的TimSort排序算法
欢迎探讨,如有错误敬请指正 如需转载,请注明出处http://www.cnblogs.com/nullzx/ 1. 简易版本TimSort排序算法原理与实现 TimSort排序算法是Python和Ja ...
- html5 canvas简易版捕鱼达人游戏源码
插件描述:html5利用canvas写的一个js版本的捕鱼,有积分统计,鱼可以全方位移动,炮会跟着鼠标移动,第一次打开需要鼠标移出背景图,再移入的时候就可以控制炮的转动,因为是用的mouseover触 ...
- Python写地铁的到站的原理简易版
Python地铁的到站流程及原理(个人理解) 今天坐地铁看着站牌就莫名的想如果用Python写其工作原理 是不是很简单就小试牛刀了下大佬们勿喷纯属小弟个人理解 首先来看看地铁上显示的站牌如下: 就想这 ...
- MVC5+EF6 简易版CMS(非接口) 第四章:使用业务层方法,以及关联表解决方案
目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...
随机推荐
- C++设计模式 - 职责链模式(Chain of Resposibility)
数据结构模式 常常有一-些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用.这时候,将这些特定数据结构封装在内部,在外部提供统一的接口,来实现与特定数据结构无 ...
- 最大堆(MaxHeap)
性质 二叉堆是一颗完全二叉树,而完全二叉树是把元素排列成树的形状. 堆中某个节点的值总不大于其父节点的值最大堆(相应的可以定于最小堆) // 返回完全二叉树的数组表示中,一个索引所表示的元素的父亲节点 ...
- lodash已死?radash最全使用介绍(附源码详细说明)—— Array方法篇(1)
相信很多前端同学甚至非前端都或多或少使用过lodash库,我们都知道lodash是一个非常丰富的前端工具库,比如最常用的防抖和节流,使用lodash都能很快实现,在github上更是有着58.7k的s ...
- OpenHarmony创新赛人气投票活动,最佳人气作品由你来定!
12月1日至12月15日 十大入围作品线上投票激战正酣 最佳人气作品,由你来定! 投票链接:https://forums.openharmony.cn/forum.php?mod=viewth ...
- 从零开始学Spring Boot系列-SpringApplication
SpringApplication类提供了一种从main()方法启动Spring应用的便捷方式.在很多情况下, 你只需委托给 SpringApplication.run这个静态方法 : @Spring ...
- Agent内存马分析
什么是Java Agent 我们知道Java是一种强类型语言,在运行之前必须将其编译成.class字节码,然后再交给JVM处理运行.Java Agent就是一种能在不影响正常编译的前提下,修改Java ...
- Discovery直播 | 移动应用“通行证”——钥匙环,解锁管家式安全出行服务
用户在登录环节的直接诉求是:别让我等.别让我想.别让我烦.而帐号输入.繁琐验证,以及由此带来的安全风险,总会让很多人望而却步. 如何在简化登录流程的同时保障登录凭证安全?如何帮助用户一键免密登录同一开 ...
- asp .net core 单页应用
前言 单页应用其实就是 asp.net core 来作为js service,个人觉得这样更好调试,这种比较适合中小型业务. 正文 因为自己写过混合app是ionic,那么就尝试一下angular的单 ...
- Pytorch-卷积神经网络CNN之ResNet的Pytorch代码实现
先说一个小知识,助于理解代码中各个层之间维度是怎么变换的. 卷积函数:一般只用来改变输入数据的维度,例如3维到16维. Conv2d() Conv2d(in_channels:int,out_chan ...
- mysql5.7.20靠谱安装步骤
首先,我看过网上的其他教程. 其次,很多教程都过时了,或者按照步骤失败,反正我一次也没成功. 开始正题:首先,以管理员身份运行cmd 总共就两个命令: 1.mysqld --initialize-in ...