轻量级的开源堡垒机—Next Terminal部署教程
Next Terminal是使用Golang和React开发的一款HTML5的远程桌面网关,具有小巧、易安装、易使用、资源占用小的特点,支持RDP、SSH、VNC和Telnet协议的连接和管理。
官方
安装 Apache Guacamole-Server
执行安装命令
yum install -y epel-release
yum install -y libguac-client-kubernetes \
libguac-client-rdp \
libguac-client-ssh \
libguac-client-telnet \
libguac-client-vnc \
guacd
配置 guacd
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 这两行。
启动 guacd 服务
# 重载服务
systemctl daemon-reload
# 开机自启
systemctl enable guacd
# 启动服务
systemctl start guacd
# 查看状态
systemctl status guacd
安装字体(SSH使用)
安装字体管理软件
yum install -y fontconfig mkfontscale
下载字体文件并移动到 /usr/share/fonts/目录下
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
更新字体
mkfontscale
mkfontdir
fc-cache
安装 Next Terminal
/usr/local/next-terminal
,你可以自由选择安装目录。下载
wget https://github.com/dushixiang/next-terminal/releases/download/v1.3.9/
解压
tar -zxvf next-terminal.tar.gz -C /usr/local/
在/usr/local/next-terminal
或/etc/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
# 当设置下面两个参数时会自动开启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
启动
./next-terminal
测试访问http://ip:8088
是否可以打开,部分公有云自带防火墙功能,请放行相关端口。
./next-terminal
退出终端或者关闭ssh会自动断开,所以还需要执行以下代码使用系统服务方式启动
执行以下命令创建 next-terminal 系统服务文件
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 服务
# 重载服务
systemctl daemon-reload
# 开机启动
systemctl enable next-terminal
# 启动服务
systemctl start next-terminal
# 查看状态
systemctl status next-terminal
访问http://ip:8088
反代域名
推荐使用 nginx 等web服务器反向代理 next-terminal 使用,一是可有效避免伪造 IP 绕过系统限制,二是开启 https 后可无缝同步系统粘贴板。
最简单的方法是安装一个宝塔进行反代你的端口,宝塔安装略
宝塔面板地址:https://www.bt.cn/
只反代的话可以只安装nginx
创建站点
创建好站点后申请证书,添加反向代理
编辑配置文件
宝塔的反代不太适合,我们改成官方的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;
}
如图所示
测试使用域名打开
默认账号密码admin/admin
教程结束
版权声明:
作者:June1
链接:https://june1.wiki/53.html
来源:June1
文章版权归作者所有,未经允许请勿转载。

共有 0 条评论