Pages

Monday, 28 December 2020

Next Terminal,你的下一个终端


Next Terminal是使用Golang和React开发的一款HTML5的远程桌面网关,具有小巧、易安装、易使用、资源占用小的特点,支持RDP、SSH、VNC和Telnet协议的连接和管理.

Next Terminal基于Apache Guacamole开发,使用到了guacd服务。

目前支持的功能有:

  • 授权凭证管理
  • 资产管理(支持RDP、SSH、VNC、TELNET协议)
  • 指令管理
  • 批量执行命令
  • 在线会话管理(监控、强制断开)
  • 离线会话管理(查看录屏)

在线体验

https://next-terminal.typesafe.cn/

admin/admin

快速安装

from https://github.com/dushixiang/next-terminal/
-----

原生安装

Centos

安装 Apache Guacamole-Server

安装Apache Guacamole-Server依赖文件

yum install -y gcc cairo-devel libjpeg-turbo-devel libpng-devel uuid-devel freerdp-devel freerdp-plugins pango-devel libssh2-devel libtelnet-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel

下载&解压&configure

wget https://mirror.bit.edu.cn/apache/guacamole/1.2.0/source/guacamole-server-1.2.0.tar.gz
tar -xzf guacamole-server-1.2.0.tar.gz
cd guacamole-server-1.2.0
./configure --with-init-dir=/etc/init.d

如果安装的依赖文件没有缺失的话,会看到RDP SSH VNC 都是 yes

------------------------------------------------
guacamole-server version 1.2.0
------------------------------------------------

   Library status:

     freerdp2 ............ yes
     pango ............... yes
     libavcodec .......... no
     libavformat.......... no
     libavutil ........... no
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... no
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ yes
     libwebsockets ....... no
     libwebp ............. yes
     wsock32 ............. no

   Protocol support:

      Kubernetes .... no
      RDP ........... yes
      SSH ........... yes
      Telnet ........ yes
      VNC ........... yes

   Services / tools:

      guacd ...... yes
      guacenc .... no
      guaclog .... yes

   FreeRDP plugins: /usr/lib64/freerdp2
   Init scripts: /etc/init.d
   Systemd units: no

Type "make" to compile guacamole-server.

编译和安装

make && make install & ldconfig

建立软链接

ln -s /usr/local/lib/freerdp/guacsnd.so /usr/lib64/freerdp/
ln -s /usr/local/lib/freerdp/guacdr.so /usr/lib64/freerdp/

配置guacamole-server

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

启动 guacamole-server

/etc/init.d/guacd start

安装字体(SSH使用)

安装字体管理软件

yum install -y fontconfig mkfontscale

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

cd  /usr/share/fonts/
wget https://raw.githubusercontent.com/dushixiang/next-terminal/master/web/src/fonts/Menlo-Regular-1.ttf

更新字体

mkfontscale
mkfontdir
fc-cache

安装 Next Terminal

建立next-terminal目录

mkdir ~/next-terminal & cd ~/next-terminal

下载

wget https://github.com/dushixiang/next-terminal/releases/download/v0.0.2/next-terminal.tgz

解压

tar -xvf next-terminal.tgz
cd next-terminal

修改配置文件config.yml

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

启动

./next-terminal
from https://github.com/dushixiang/next-terminal/blob/master/docs/install-naive.MD

No comments:

Post a Comment