FAQ
🛟 如何获取帮助
当您在部署或使用 TacPort 过程中遇到问题时,请首先仔细阅读在线文档,并使用站内的搜索功能来寻求答案。在无法找到问题解答后,再到QQ群中提问。社群的同学们都是无偿为大家服务,当您咨询问题时,请注意文明、礼貌,大家会热情地解答。点击查看如何更有效地得到回答
提问时尽可能详细准确地描述您遇到的问题,包括使用的版本、您的系统环境、部署方式、错误提示等,最好能提供截图。您可以这样:
提问
容器化部署的x.x.x版本,无法远程连接ssh,我检查了网络和防火墙,没有问题,直接连接远程主机也正常,通过tp连就报没有找到可用节点,求救!
⬆️ 很好,您已经做过检查并试图排除问题了👍。
提问
我刚下载了最新的x.x.x版本,根据安装文档执行到第三步时报错,找不到xxx文件,但是文件是存在的呀,请问如何解决?(截图) (截图)
⬆️ 更好了,您准确地描述了问题,还附图帮助定位问题 👍👍👍。
但是如果这样就没人理会:提问
请教一下,在哪儿看服务的日志啊?
⬆️ 态度很好,但您一定没有阅读文档。
提问
安装成功,怎么管理员登录也没有看到有远程连接的功能?
⬆️ 唉,还是没有看文档,甚至连本页面FAQ都没有仔细阅读。
提问
访问不了服务,怎么看服务是否启动了啊
⬆️ 为什么不看文档!!! 为~~~什么~ 不 ~ 看 ~ 文 ~ 档 ~~~ (╯°Д°)╯︵┻━┻。RTFM
提问
我的远程连不了,怎么回事?
⬆️ 有太多可能性了,这样提问没有效率,请仔细描述一下使用的版本、平台,以及问题的现象。
提问
我在ubuntu24上安装,要设置防火墙,请教各位大佬该怎么做呢?
⬆️ 虽然很有礼貌,但实际上在浪费大家的时间,这样的问题应该去Google或百度。STFW
提问
今天上班路上看到两只狗打架,太彪悍了,拍了几张照片给大家分享哦!
⬆️ 去发朋友圈吧,可能会有人点赞。
提问
PHP是世界上最好的语言!
⬆️ 啊对对对!
延伸阅读 「提问的智慧」
🛟 首次部署完,服务无法启动,日志报错:database not initialized yet,我该怎么做?
首次部署后数据库尚未初始化,导致服务无法工作。请确保您有如下配置:
- 常规部署:配置文件设置了
allow_init: yes
; - 容器部署:环境变量设置了
TP_ALLOW_INIT=yes
然后重启服务或容器,应该提示访问 http://您的TP主机IP:端口号/init
来进行初始化,按提示进行初始化即可。
🛟 无法访问 WEB 页面
- 检查:节点的服务是否正常启动
systemctl status tpnode
; - 检查:服务器的防火墙是否已对服务端口放行,如果是部署在云服务器上,还需要检查云主机的安全组是否放行了服务端口;
- 检查:api服务配置中是否使用了内置web的配置项,如未使用内置web,是否为web页面提供了其它的静态页面服务;
🛟 我以管理员身份登录,但没有远程连接的功能?
出于安全考虑,默认情况下管理员只能进行系统配置及成员管理,没有远程运维的权限。您可以根据需要来调整管理员角色的权限,为其增加资产管理、远程运维、审计等权限。
出于对「4A级安全系统的用户权限分离最佳实践」的考量,不建议您为管理员分配过多的权限,因此建议您为远程运维创建一个新的用户,并分配内置的远程运维角色,当您需要进行远程运维时,使用此用户身份登录系统。
权限分离最佳实践
摘自「DevOps 最佳实践之用户与权限,作者:赵佩」
减少使用特权(root)账号
在任何系统的日常管理工作中,在非必要的情况下,我们强烈建议不要使用特权(root)账号来进行操作。特权账号具有系统所有权限,疏忽和不慎的操作有可能带来极大的损失。如果是在多人管理的情况下,也会增加账号泄漏的风险。
给每个用户建立独立的账号
在任何的系统中,我们都强烈建议给每个用户建立独立的账号,而非使用共享账号。相比共享账号,独立账号可以更明确地划分用户的归属和权限,便于最小化权限管理,并减少账号泄露的风险。此外,独立账号还方便后续的风险评估和操作审计等工作。
最小化权限原则
最小化权限原则是指系统的每个程序或者用户都应该使用完成工作所需的最小权限工作。最小权限原则限制操作所需的权限,降低账号或者系统在被恶意利用时造成的损失。因此在给账号或者角色赋权时,尽可能只赋予操作所需的权限,应为用户提供履行其工作职责所需的最低访问级别,而非随意扩大权限范围,这有助于降低意外或故意滥用特权的风险。即使我们需要给一些临时的操作赋权,也不要赋予不必要的额外权限,并在操作完成之后清理临时权限。如有可能,我们也建议新建临时账号来完成此类操作,而非扩大原有账号的权限。
🛟 找不到可用的协议转发节点?
请确认启用了该协议转发服务,例如 SSH 协议转发服务,在配置文件的 service
中包含了 "ssh",或者环境变量 TP_SERVICE
中包含了 "ssh"。关于配置项详情请参考 配置项说明。
🛟 远程连接时报错,无法连接到协议转发服务!!
如果您使用了容器化部署模式,或者使用了前置的负载均衡服务(如 Nginx)对协议转发服务做流量转发,请检查您的配置项中关于协议转发服务(例如ssh)的映射端口是否配置正确。
🛟 我在日志页面看到的来访IP不是真正的用户的IP地址??
如果您使用了负载均衡/流量转发前置服务,请检查您的前置服务(例如 Nginx)的配置。如果您使用了多级 Nginx 逐层转发,可以参考多层Nginx配置说明。正确配置后,登录 TacPort、通过 WEB 终端进行远程运维等操作均可在日志中查看到正确的来源IP。
此外,如果您的环境中使用了 Nginx 做流量转发,同时又使用了客户端软件直接访问 TacPort 的协议转发服务(使用长效令牌或短期令牌),来源IP仍然被会记录为 TacPort 节点的上一级 Nginx 节点的地址,目前的 TacPort v4.x 版本尚不支持这种方式下获取到真实来源IP。