【玩转Lighthouse】使用Next-terminal搭建自用服务器集中管理中心

2022-04-22 16:54:42 浏览数 (1)

很多朋友们在不断玩机买机的过程中,不知不觉都积累了一大批各种系统的服务器,特别是腾讯云不断的活动刺激下,欲法不可收拾,结果,就是众多的机器在手。这时,如何高效的管理这一批即有windows,又有Linux系统的服务器呢,今天我就来推荐下小巧好用的Next-terminal

为什么要选择Next-terminal来作为自用的服务器管理中心呢?这里就不得不说它的优点:

一、小巧、易安装、易使用、资源占用小

二、支持RDP、SSH、VNC、Telnet、Kubernetes协议的连接和管理

三、支持docker与原生安装

……

在搭建开始之际,我们要优先选择Next-terminal放置的服务器,这里推荐腾讯云Lighthouse服务器,根据你所在的地域,优先选择离你最近的数据中心,其实你选大陆的任何一个数据中心,体验都差不多,比如我,就选择了广州。

开始安装

由于个人原因,对docker不太了解,所以选择方式选择了熟悉的原生安装,所以docker的安装具体方式请参考官网,这里就略了,不介绍了。

一、安装 Apache Guacamole-Server

执行安装命令

代码语言:javascript复制
yum install -y libguac-client-kubernetes 
    libguac-client-rdp 
    libguac-client-ssh 
    libguac-client-telnet 
    libguac-client-vnc 
    guacd

配置 guacd 服务

代码语言:javascript复制
mkdir /etc/guacamole/ && cat <<EOF >> /etc/guacamole/guacd.conf
[daemon]
pid_file = /var/run/guacd.pid
log_level = info

[server]
# 监听地址
bind_host = 127.0.0.1
bind_port = 4822
EOF

为了避免权限问题导致错误修改使用 root 用户启动guacd服务,修改/usr/lib/systemd/system/guacd.service文件,注释掉 User 和 Group 这两行,修改完成后结果如下:

代码语言:javascript复制
[Unit]
Description=Guacamole proxy daemon
Documentation=man:guacd(8)
After=network.target

[Service]
EnvironmentFile=-/etc/sysconfig/guacd
Environment=HOME=/var/lib/guacd
ExecStart=/usr/sbin/guacd -f $OPTS
Restart=on-failure
LimitNOFILE=1048576
# User=guacd
# Group=guacd

[Install]
WantedBy=multi-user.target

启动 guacd 服务

代码语言:javascript复制
# 重载服务
systemctl daemon-reload
# 开机自启
systemctl enable guacd
# 启动服务
systemctl start guacd
# 查看状态
systemctl status guacd

二、安装字体(SSH使用)

安装字体管理软件

代码语言:javascript复制
yum install -y fontconfig mkfontscale

下载字体文件并移动到 /usr/share/fonts/目录下

代码语言:javascript复制
cd  /usr/share/fonts/
# 下载英文字体
wget https://gitee.com/dushixiang/next-terminal/raw/master/guacd/fonts/Menlo-Regular.ttf
# 下载中文字体
wget https://gitee.com/dushixiang/next-terminal/raw/master/guacd/fonts/SourceHanSansCN-Regular.otf

更新字体

代码语言:javascript复制
mkfontscale
mkfontdir
fc-cache

至此,准备工作已经完成,下面开始正式安装。

三、安装 Next Terminal

备用下载地址:https://gitee.com/dushixiang/next-terminal

代码语言:javascript复制
wget https://github.com/dushixiang/next-terminal/releases/latest/download/next-terminal.tgz

解压

代码语言:javascript复制
tar -zxvf next-terminal.tgz -C /usr/local/

/usr/local/next-terminal/etc/next-terminal下创建或修改配置文件config.yml

代码语言:javascript复制
db: sqlite
# 当db为sqlite时mysql的配置无效
#mysql:
#  hostname: 172.16.101.32
#  port: 3306
#  username: root
#  password: mysql
#  database: next-terminal

# 当db为mysql时sqlite的配置无效
sqlite:
  file: 'next-terminal.db'
server:
  addr: 0.0.0.0:8088
# 当设置下面两个参数时会自动开启https模式(前提是证书文件存在)
#  cert: /root/next-terminal/cert.pem
#  key: /root/next-terminal/key.pem

# 授权凭证和资产的密码,密钥等敏感信息加密的key,默认`next-terminal`
#encryption-key: next-terminal
guacd:
  hostname: 127.0.0.1
  port: 4822
  # 此路径需要为绝对路径,并且next-terminal和guacd都能访问到
  recording: '/usr/local/next-terminal/data/recording'
  # 此路径需要为绝对路径,并且next-terminal和guacd都能访问到
  drive: '/usr/local/next-terminal/data/drive'

sshd:
  # 是否开启sshd服务
  enable: false
  # sshd 监听地址,未开启sshd服务时此配置不会使用
  addr: 0.0.0.0:8089
  # sshd 使用的私钥地址,未开启sshd服务时此配置不会使用
  key: ~/.ssh/id_rsa

数据库支持sqlite和mysql,实际测试,个人情况来说,选择sqlite更方便,但是如果你是mysql的爱好者,选择mysql也是OK的

启动

代码语言:javascript复制
./next-terminal

使用系统服务方式启动

执行以下命令创建 next-terminal 系统服务文件

代码语言:javascript复制
cat <<EOF >> /etc/systemd/system/next-terminal.service
[Unit]
Description=next-terminal service
After=network.target

[Service]
User=root
WorkingDirectory=/usr/local/next-terminal
ExecStart=/usr/local/next-terminal/next-terminal
Restart=on-failure
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target
EOF

启动 Next-Terminal 服务

代码语言:javascript复制
# 重载服务
systemctl daemon-reload
# 开机启动
systemctl enable next-terminal
# 启动服务
systemctl start next-terminal
# 查看状态
systemctl status next-terminal

至此,我们的安装就完成了,当然还有一个重要的事情需要去做:

登录腾讯云来到轻量应用服务器的管理界面,切换到防火墙选项卡,选择“添加规则”,将配置中的8088端口添加进去放行

四、登录的地址及默认登录密码

登录地址:http://ip:8088

默认登录密码:admin/admin

五、常见问题

1、系统的登录密码忘记怎么办?

首先需要进入程序所在目录,使用docker安装的程序目录为:/usr/local/next-terminal

执行命令

代码语言:javascript复制
./next-terminal --reset-password admin

其中 admin 为用户登录账号,成功之后会输出

代码语言:javascript复制
 _______                   __    ___________                  .__              .__   
          ____ ___  ____/  |_  __    ___/__________  _____ |__| ____ _____  |  |  
 /   |   _/ __ \  /  /   __   |    |_/ __ _  __ /     |  |/    \__   |  |  
/    |      ___/ >    <  |  |     |    |  ___/|  | /  Y Y    |   |  / __ |  |__
____|__  /___  >__/_  |__|     |____| ___  >__|  |__|_|  /__|___|  (____  /____/
        /     /      /                     /            /        /     /      v0.3.0

当前数据库模式为:sqlite
Mar  5 20:00:16.923 [DEBU] 用户「admin」密码初始化为: next-terminal

2、原生安装如何升级?

下载打包后的压缩文件,替换其中的 next-terminal 文件即可

3、资产状态检测原理

tcp连接到目标IP和端口进行测试,默认超时时间是3秒,在计划任务中每隔一个小时检测一次。如果资产状态检测为不在线,可以自行登录next-terminal所在服务器使用telnet进行测试

好了,具体的服务器加入资产配置,进入Next-terminal一看就明白了,这里就不详细介绍,希望这篇推荐能够帮助到你,如果还有不明白的地方,可以去官网查询。

0 人点赞