centos7-搭建teleport 使用mysql

安装

一、安装

本文针对 v3.x 及以上版本进行说明。

1.1 下载并安装

Teleport支持下列Linux平台的部署 (如果您在其它Linux平台上部署通过,请告知我们)

  • Ubuntu 14.04 64位 及以上版本
  • CentOS 6.2 64位 及以上版本
  • Debian 6.0 64位 及以上版本
  • Redhat 6.2 64位 及以上版本

Teleport的安装部署非常简单,只需一分钟就可以完成。您需要先下载二进制安装包。为方便理解,本文后续以假定版本 3.0.2.9 为例进行说明。

将下载得到的安装包放到临时目录中,然后执行下列命令:

tar -zxvf teleport-linux-3.0.2.9.tar.gz
cd teleport-linux-3.0.2.9
sudo ./setup.sh

安装时需要指定安装路径,您可以使用默认的安装路径/usr/local/teleport(直接回车即可),也可以指定别的路径,请注意路径中不要含有中文字符或空格,以避免出现不可预知的错误。默认的录像回放文件位于/usr/local/teleport/data/replay目录下,会占用/usr的空间,因此建议安装完成后配置录像回放文件的存储路径

linux-install

仅需几秒钟,安装就完成了,堡垒机的核心服务和WEB服务均已自动启动。您可以访问http://teleport服务器IP:7190/来进行初始化设置。

1.2 初始化配置

初次安装完成后,可以访问 http://你的teleport服务器IP:7190/进行初始化设置。

初始化设置时,需要确定使用的数据库类型。Teleport默认使用内建的sqlite3数据库,因此无需额外安装数据库服务即可开始使用堡垒机的各项功能。如果您希望使用MySQL数据库,请在初始化之前进行MySQL数据库配置

web-init-config-step1

您需要在这里设置系统管理员的账号和密码,此账号具有系统的最高权限,请务必牢记密码。设置完成后,点击“开始配置”按钮即可完成初始配置工作了:

web-init-config-step2

初始化配置完成后,刷新页面即可进入teleport的登录界面。

web-login

二、升级

注意:升级之前,请确保备份了您的数据!! 升级过程中也会再次提示您备份数据!

2.1 备份数据

默认情况下,teleport的配置文件、数据文件等均放在 /usr/local/teleport/data 目录下,因此,您可以将此目录进行备份即可。需要注意的是,默认的录像回放文件也在此目录下,因此有可能数据量会比较大。

2.2 下载并升级

一旦备份完成,就可以进行升级了。升级过程也很简单,与安装过程基本一致。您需要下载最新的安装包,解压,然后以 root 身份运行压缩包中的 setup.sh 脚本,像这样:

tar -zxvf teleport-linux-3.0.2.9.tar.gz
cd teleport-linux-3.0.2.9
sudo ./setup.sh

安装脚本会自动检测当前已经安装的版本和路径,并询问要执行的操作。这里我们要升级,按提示,输入 g 并回车,然后会确认升级以及确认已经对数据进行了备份,这里我们输入 y 并回车进行确认,之后,安装脚本会停止teleport的服务,复制新版本的文件,然后重新启动服务,就像这样:

linux-upgrade


三、服务控制

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

四.修改配置文件

服务端配置文件说明

本文中 %INSTDIR% 指 teleport 服务端安装目录,默认位于 /usr/local/teleport/

teleport 配置文件位于 %INSTDIR%/data/etc 目录下。服务端包含两个配置文件: core.iniweb.ini,其中,core.ini用于核心服务,web.ini用于WEB服务。

注意:修改完配置文件后,需要重启 teleport 服务方可生效,重启方式详见这里

核心服务配置文件 core.ini

; codec: utf-8

[common]
; 'log-file' 定义核心服务日志文件。如果没有设置,默认为 %INSTDIR%/data/log/tpcore.log
;log-file=/var/log/teleport/tpcore.log

; log-level 指定日志等级,可以为 0 到 4 之间的数值,如果没有设置,默认为 2.
; LOG_LEVEL_DEBUG     0   log every-thing.
; LOG_LEVEL_VERBOSE   1   log every-thing but without debug message.
; LOG_LEVEL_INFO      2   log infomation/warning/error message.
; LOG_LEVEL_WARN      3   log warning and error message.
; LOG_LEVEL_ERROR     4   log error message only.
;log-level=2

; 'debug-mode' 指定是否运行为调试模式,可以是 0 或 1,默认为0,表示不运行为调试模式。
; 调试模式下,log-level 强制为 0,且发生错误时会记录函数调用栈。
debug-mode=0

; 'replay-path' 定义录像文件的存放目录,如果没有设置,默认为 %INSTDIR%/data/replay
;replay-path=/var/lib/teleport/replay

; 'web-server-rpc' 定义WEB服务的rpc接口地址,如果没有设置,默认为 http://127.0.0.1:7190/rpc
; 注意:如果你修改了web.ini中的端口,必须同步修改本设置项。
web-server-rpc=http://127.0.0.1:7190/rpc

[rpc]
; 核心服务的rpc接口监听的IP地址和端口号。
; 注意:如果你修改了本设置,请同步修改web.ini中的 'core-server-rpc' 设置项。
bind-ip=127.0.0.1
bind-port=52080

[protocol-ssh]
enabled=true
lib=tpssh
bind-ip=0.0.0.0
bind-port=52189

[protocol-rdp]
enabled=true
lib=tprdp
bind-ip=0.0.0.0
bind-port=52089

[protocol-telnet]
enabled=true
lib=tptelnet
bind-ip=0.0.0.0
bind-port=52389

录像文件存放路径 replay-path

因为在teleport服务工作过程中,占用磁盘空间较大的是录像回放文件,容易导致 /usr 空间不足,因此可以根据需要将录像文件存放到别的挂载的磁盘上。可以通过修改 replay-path 来进行设定。

禁用某个协议

如果您并不打算远程连接teleport支持的所有协议,可以将其禁用。例如,在您的工作环境中不需要使用Windows远程桌面(即,RDP协议),那么可以将 [protocol-rdp] 小节中的 eanbled 设为 false

WEB服务配置文件 web.ini

; codec: utf-8

[common]
; ip=0.0.0.0

; WEB服务监听端口,默认为 7190.
; 注意:如果你修改了本设置项,请同步修改core.ini中的 web-server-rpc 配置项。
; port=7190
port=7190

; 'log-file' 定义核心服务日志文件。如果没有设置,默认为 %INSTDIR%/data/log/tpweb.log
;log-file=/var/log/teleport/tpweb.log

; log-level 指定日志等级,可以为 0 到 4 之间的数值,如果没有设置,默认为 2.
; LOG_LEVEL_DEBUG     0   log every-thing.
; LOG_LEVEL_VERBOSE   1   log every-thing but without debug message.
; LOG_LEVEL_INFO      2   log infomation/warning/error message.
; LOG_LEVEL_WARN      3   log warning and error message.
; LOG_LEVEL_ERROR     4   log error message only.
;log-level=2

; 'debug-mode' 指定是否运行为调试模式,可以是 0 或 1,默认为0,表示不运行为调试模式。
; 调试模式下,log-level 强制为 0,且发生错误时会记录函数调用栈。
debug-mode=0

; 'core-server-rpc' 定义核心服务的rpc接口地址,如果没有设置,默认为 http://127.0.0.1:52080/rpc
; 注意:如果你修改了core.ini中的端口,必须同步修改本设置项。
core-server-rpc=http://127.0.0.1:52080/rpc

[database]
; 数据库类型,可以是 sqlite 或 mysql, 默认为 sqlite.
; type=sqlite

; 当数据库设置为使用 sqlite 时,指定sqlite数据库文件的路径,如果未指定,默认为 %INSTDIR%/data/db/ts_db.db
; sqlite-file=/var/lib/teleport/data/ts_db.db

; 当数据库设置为使用 mysql 时,指定mysql数据库的访问地址和用户账号信息。
; 注意:如需使用mysql数据库,需要先创建对应的数据库和用户,并为用户授权访问指定的数据库。
; mysql-host=127.0.0.1
; mysql-port=3306
; mysql-db=teleport
; mysql-prefix=tp_
; mysql-user=teleport
; mysql-password=password

使用 MySql 或 MariaDB

Teleport支持MySQL数据库(当然也支持MariaDB)。这里以MySQL为例进行说明。要使用MySQL数据库,需要先为teleport创建库并授权。以MySQL数据库的管理员身份在命令行工具中执行:

注意:数据库的字符集必须是 utf-8 ,否则会出现乱码。

> create database teleport default character set utf8 collate utf8_general_ci;
> grant all privileges on teleport to 'teleport'@'127.0.0.1' identified by 'password';
> flush privileges;

请注意表名、用户名与密码等要与 web.ini 中的设置一致。修改 web.ini,去掉 ; type=sqlite 前面的注释符号,并改为 type=mysql

五、错误总结:

创建失败:

[mysql] _do_exec() failed: (1142, "CREATE command denied to user 'teleport'@'localhost' for table 'tp_config'")
[EXCEPTION] pymysql.err.OperationalError: (1142, "CREATE command denied to user 'teleport'@'localhost' for table 'tp_config'")
 /home/teleport/www/packages/packages-linux/x64/pymysql/err.py(109): raise errorclass(errno, errval)

修改:

grant all privileges on teleport to 'teleport'@'127.0.0.1' identified by 'password';

为:

grant all privileges on teleport.* to 'teleport'@'127.0.0.1' identified by 'password';
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值