TeamSpeak服务器的密钥出现在首次启动TeamSpeak服务端的时候,若没有妥善保存会导致在TeamSpeak客户端上获取不到管理员权限,本文介绍如何获取到密钥。


停止服务

  • 打开SSH工具(如Xshell等)连接服务器。
  • 如果作为服务运行,输入以下命令关闭服务,cd命令按自己的安装目录来修改:
    1
    2
    cd /home/[username]/teamspeak3
    systemctl stop teamspeak.service
  • 如果作为普通任务运行,则输入以下命令关闭程序:
    1
    2
    cd /home/[username]/teamspeak3
    ./ts3server_startscript.sh stop

启动临时服务

1
2
./ts3server_minimal_runscript.sh serveradmin_password=[password]
# 这一步操作会重置你的[serveradmin]密码,请自行替换[password]为你想要的密码。

获得密码(保存过密码的可跳过)

  • 使用SFTP等工具,打开TeamSpeak的安装目录并找到文件:/home/[username]/teamspeak3/doc/privilegekey_guide.txt
    找到文件
    将其下载,拉到最最下面可看到密钥
    密码
  • 若出现乱码的问题,可在SSH中通过vim工具查看,输入以下命令:
    1
    2
    cd /home/[username]/teamspeak3/doc
    vim privilegekey_guide.txt
  • 如果不是root账户回车后还需要再点击键盘上的’O’,拉到最底下,即可看见密钥,退出vim需要按键盘上的’:’,再输入’qa’即可退出。

使用telnet工具

可使用Xshell,Windows的telnet等,本文使用Windows自带的telnet工具。

首先需要确认是否开启了这个功能,不然输入telnet命令后会显示telnet : 无法将“telnet”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。之类的错误提示,开启方法如下:

  • 打开控制面板,选择程序与功能→启用或关闭Windows功能,勾选Telnet客户端并点击确定。

  • 按Windows+R打开运行,输入CMD,在CMD命令行输入以下命令

    1
    2
    telnet [IP] 10011
    login serveradmin [Password]

    返回”error id=0 msg=ok“等为正常现象,不用理会

  • 再输入以下命令获取Token

    1
    2
    use 1
    tokenadd tokentype=0 tokenid1=6 tokenid2=0
  • 返回得到的token即为管理密钥,选中按Ctrl+C复制到TeamSpeak客户端获得管理员权限

重启服务

  • 如果全程没有关闭Teamspeak的临时进程的话,可以按Ctrl+C关闭进程。
  • 启动服务器,可以使用以下命令:
    1
    systemctl stop teamspeak.service