服务端配置文件说明

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

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

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

核心服务配置文件core.ini

1. ; codec: utf-8
2.
3. [common]
4. ;'log-file'定义核心服务日志文件。如果没有设置,默认为%INSTDIR%/data/log/tpcore.log
5. ;log-file=/var/log/teleport/tpcore.log
6.
7. ; log-level 指定日志等级,可以为0到4之间的数值,如果没有设置,默认为2.
8. ; LOG_LEVEL_DEBUG 0 log every-thing.
9. ; LOG_LEVEL_VERBOSE 1 log every-thing but without debug message.
10. ; LOG_LEVEL_INFO 2 log infomation/warning/error message.
11. ; LOG_LEVEL_WARN 3 log warning and error message.
12. ; LOG_LEVEL_ERROR 4 log error message only.
13. ;log-level=2
14.
15. ;'debug-mode'指定是否运行为调试模式,可以是0或1,默认为0,表示不运行为调试模式。
16. ;调试模式下,log-level 强制为0,且发生错误时会记录函数调用栈。
17. debug-mode=0
18.
19. ;'replay-path'定义录像文件的存放目录,如果没有设置,默认为%INSTDIR%/data/replay
20. ;replay-path=/var/lib/teleport/replay
21.
22. ;'web-server-rpc'定义WEB服务的rpc接口地址,如果没有设置,默认为 http://127.0.0.1:7190/rpc
23. ;注意:如果你修改了web.ini中的端口,必须同步修改本设置项。
24. web-server-rpc=http://127.0.0.1:7190/rpc
25.
26. [rpc]
27. ;核心服务的rpc接口监听的IP地址和端口号。
28. ;注意:如果你修改了本设置,请同步修改web.ini中的'core-server-rpc'设置项。
29. bind-ip=127.0.0.1
30. bind-port=52080
31.
32. [protocol-ssh]
33. enabled=true
34. lib=tpssh
35. bind-ip=0.0.0.0
36. bind-port=52189
37.
38. [protocol-rdp]
39. enabled=true
40. lib=tprdp
41. bind-ip=0.0.0.0
42. bind-port=52089
43.
44. [protocol-telnet]
45. enabled=true
46. lib=tptelnet
47. bind-ip=0.0.0.0
48. bind-port=52389

录像文件存放路径replay-path

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

禁用某个协议

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

WEB服务配置文件web.ini

1. ; codec: utf-8
2.
3. [common]
4. ; ip=0.0.0.0
5.
6. ; WEB服务监听端口,默认为7190.
7. ;注意:如果你修改了本设置项,请同步修改core.ini中的 web-server-rpc 配置项。
8. ; port=7190
9. port=7190
10.
11. ;'log-file'定义核心服务日志文件。如果没有设置,默认为%INSTDIR%/data/log/tpweb.log
12. ;log-file=/var/log/teleport/tpweb.log
13.
14. ; log-level 指定日志等级,可以为0到4之间的数值,如果没有设置,默认为2.
15. ; LOG_LEVEL_DEBUG 0 log every-thing.
16. ; LOG_LEVEL_VERBOSE 1 log every-thing but without debug message.
17. ; LOG_LEVEL_INFO 2 log infomation/warning/error message.
18. ; LOG_LEVEL_WARN 3 log warning and error message.
19. ; LOG_LEVEL_ERROR 4 log error message only.
20. ;log-level=2
21.
22. ;'debug-mode'指定是否运行为调试模式,可以是0或1,默认为0,表示不运行为调试模式。
23. ;调试模式下,log-level 强制为0,且发生错误时会记录函数调用栈。
24. debug-mode=0
25.
26. ;'core-server-rpc'定义核心服务的rpc接口地址,如果没有设置,默认为 http://127.0.0.1:52080/rpc
27. ;注意:如果你修改了core.ini中的端口,必须同步修改本设置项。
28. core-server-rpc=http://127.0.0.1:52080/rpc
29.
30. [database]
31. ;数据库类型,可以是 sqlite 或 mysql,默认为 sqlite.
32. ; type=sqlite
33.
34. ;当数据库设置为使用 sqlite 时,指定sqlite数据库文件的路径,如果未指定,默认为%INSTDIR%/data/db/ts_db.db
35. ; sqlite-file=/var/lib/teleport/data/ts_db.db
36.
37. ;当数据库设置为使用 mysql 时,指定mysql数据库的访问地址和用户账号信息。
38. ;注意:如需使用mysql数据库,需要先创建对应的数据库和用户,并为用户授权访问指定的数据库。
39. ; mysql-host=127.0.0.1
40. ; mysql-port=3306
41. ; mysql-db=teleport
42. ; mysql-prefix=tp_
43. ; mysql-user=teleport
44. ; mysql-password=password

使用MySql或MariaDB

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

注意:数据库的字符集必须是utf-8,否则会出现乱码,或者初始化表数据时会失败。

1. --对于MySQL5.x:
2. CREATE DATABASE teleport DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
3. GRANT ALL PRIVILEGES ON teleport.* TO teleport @127.0.0.1 IDENTIFIED BY 'password';
4. FLUSH PRIVILEGES;
5.
6. --对于MySQL8:
7. --注意:认证方式选择 mysql_native_password 还是 caching_sha2_password,要根据实际配置进行,不设置的话就使用MySQL的默认值。
8. CREATE DATABASE teleport DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
9. CREATE USER `teleport`@`localhost` IDENTIFIED BY 'password';
10. -- CREATE USER `teleport`@`localhost` IDENTIFIED WITH mysql_native_password BY 'password';
11. -- CREATE USER `teleport`@`localhost` IDENTIFIED WITH caching_sha2_password BY 'password';
12. GRANT ALL PRIVILEGES ON teleport.* TO `teleport`@`localhost`;
13. FLUSH PRIVILEGES;

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

Nginx配置

Teleport服务端默认WEB服务端口为7190,可以在TP服务器前面架设一个Nginx:

可以将端口映射为默认端口,更好记;

可以配置为使用域名方式访问你的TP服务;

可以配置成HTTPS方式访问,更安全。

普通配置

从TP v3.x开始,部分页面使用了websocket 进行实时通讯,因此,Nginx的配置文件需要做一些额外调整,下面是一个示例(以Nginx服务与TP服务在同一台主机上为例):

1. # ...其他内容...
2.
3. server {
4. listen 80;
5. server_name www.your-teleport-domain.com;
6. location /{
7. proxy_set_header Host $host;
8. proxy_set_header X-Real-IP $remote_addr;
9. proxy_pass http://127.0.0.1:7190;
10.
11. # 以下三行是websocket需要的
12. proxy_http_version 1.1;
13. proxy_set_header Upgrade $http_upgrade;
14. proxy_set_header Connection"upgrade";
15. }
16. }
17.
18. # ...其他内容...

如果Nginx与TP服务不在同一台主机上,那么还要记得在Nginx服务所在主机上为TP服务器开启相应的端口转发,默认的需要52089/52189/52389三个端口,具体的端口值,请检查你的TP服务核心配置文件core.ini 。

配置为HTTPS

为提升完全性,可以将 nginx 配置为 https 方式访问。要这样做,需要将 nginx 的配置文件做如下修改:

1. # ...其他内容...
2.
3. server {
4. listen 443;
5. server_name www.your-teleport-domain.com;
6.
7. ssl on;
8. ssl_certificate_key path/to/your/server-private-key.pem
9. ssl_certificate path/to/your/server-cert.pem
10.
11. location /{
12. proxy_set_header Host $host;
13. proxy_set_header X-Real-IP $remote_addr;
14. proxy_pass http://127.0.0.1:7190;
15.
16. # 以下三行是websocket需要的
17. proxy_http_version 1.1;
18. proxy_set_header Upgrade $http_upgrade;
19. proxy_set_header Connection"upgrade";
20. }
21. }
22.
23. # ...其他内容...

其中,ssl_certificate_key和ssl_certificate是你的服务端证书的私钥和服务端证书。如果你不知道如何获取一份服务端证书,那么去了解一下Let's Encrypt将会是一个不错的开端。

  • 输入编号:7175,直达文章
  • 输入m|M,直达目录列表