<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="Debian/Ubuntu系统原生安装Next-Terminal：一个好用的在线SSH系统">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2024-08-06 11:05<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
Debian/Ubuntu系统原生安装Next-Terminal：一个好用的在线SSH系统


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

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

官网只提供了Centos系统的安装，现记录一下在Debian/Ubuntu系统的安装


一、安装Apache Guacamole


1.安装Apache Guacamole-Server依赖文件：


 


XML/HTML代码


    apt -y install libcairo2-dev libjpeg62-turbo-dev libpng-dev libtool-bin libossp-uuid-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev





2.获取、解压并配置编译 Guacamole-Server




XML/HTML代码


    wget https://downloads.apache.org/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz

    tar -xzf guacamole-server-1.5.5.tar.gz

    cd guacamole-server-1.5.5

    ./configure --with-init-dir=/etc/init.d




3.编译并安装




XML/HTML代码


    make &amp;&amp; make install &amp;&amp; ldconfig







4.配置 Guacamole-Server




XML/HTML代码


    mkdir /etc/guacamole/ &amp;&amp; cat &lt;&lt;EOF &gt;&gt; /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







5.启动 guacd 服务




XML/HTML代码


    # 重载服务

    systemctl daemon-reload

    # 开机自启

    systemctl enable guacd

    # 启动服务

    systemctl start guacd

    # 查看状态

    systemctl status guacd







二、安装字体


1.安装字体管理软件




XML/HTML代码


    # Debian10+系统  

    apt -y install ttf-mscorefonts-installer

     

    #Debian9系统

    wget http://httpredir.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.8_all.deb

    sudo dpkg -i ttf-mscorefonts-installer_3.8_all.deb

    #如果提示缺乏依赖就按提示修复一下







2.下载字体




XML/HTML代码


    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







3.更新一下字体




XML/HTML代码


    mkfontscale

    mkfontdir

    fc-cache







三、安装 Next Terminal


1.下载安装包




XML/HTML代码


    wget https://gitee.com/dushixiang/next-terminal/releases/download/v1.3.9/next-terminal.tar.gz







2.解压




XML/HTML代码


    tar -zxvf next-terminal.tar.gz -C /usr/local/



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



XML/HTML代码


    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  




#表示注释，不执行，看着烦的可以直接删掉，也可以根据实际情况修改，比如使用mysql数据库而不用sqlite。


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



XML/HTML代码


    cat &lt;&lt;EOF &gt;&gt; /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







5.启动 Next-Terminal 服务




XML/HTML代码


    # 重载服务

    systemctl daemon-reload

    # 开机启动

    systemctl enable next-terminal

    # 启动服务

    systemctl start next-terminal

    # 查看状态

    systemctl status next-terminal







至此Next-Terminal安装完成，默认8088端口，可以使用Nginx反代，官方推荐使用 nginx 等web服务器反向代理 next-terminal 使用，一是可有效避免伪造 IP 绕过系统限制，二是开启 https 后可无缝同步系统粘贴板




XML/HTML代码


    #nginx 反向代理示例

    location / {

        proxy_pass http://127.0.0.1:8088/;

        proxy_set_header Host      $host;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection $http_connection;

    }




参考来源：https://docs.next-terminal.typesafe.cn/install/native-install.html
</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
