往事如烟

笔记分享

Docker安装Next Terminal堡垒机

平时需要软件厂家技术支持时一直使用向日葵、Todesk等远程工具到服务器操作,但是这些工具在多台服务器和需要多个厂家维护的时候很不方便,没有权限分配和审计日志功能。

在网上找到Next Terminal这个工具,免费开源,支持RDP、SSH等协议,可以直接通过浏览器访问,无需再安装软件,而且支持审计,记录登录操作日志。

Docker安装

在任意位置创建文件夹 next-terminal,然后在此文件夹下创建 docker-compose.yml

1 mkdir next-terminal
2 cd next-terminal
3 touch docker-compose.yml
            

写入如下内容:

version: '3.3'
services:
  guacd:
    image: dushixiang/guacd:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
    restart:
          always
  next-terminal:
    image: dushixiang/next-terminal:latest
    environment:
      DB: sqlite
      GUACD_HOSTNAME: guacd
      GUACD_PORT: 4822
    ports:
      - "8088:8088"
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/usr/local/next-terminal/data
    restart:
      always
# 后台启动
docker-compose up -d
# 更新
docker-compose pull && docker-compose restart
            

反向代理

nginx等web服务器反向代理next-terminal使用,一是可有效避免伪造IP绕过系统限制,二是开启https后可无缝同步系统粘贴板。

通过nginx配置好vhost和ssl后,在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 登录系统 Next Terminal

登录界面截图

登录后操作步骤:

Linux SSH安全设置

Linux默认的SSH端口是22,为了安全性就需要修改掉默认的SSH端口号,防止被穷举密码。禁止root登录,新建普通用户登录。

修改SSH默认端口

1 vim /etc/ssh/sshd_config
找到 Port 22 改成 Port 10086
            
# 重启ssh
1 /etc/init.d/ssh restart
# 添加防火墙,放行10086端口
2 iptables -A INPUT -p tcp --dport 10086 -j ACCEPT
            

禁止root登录

1 useradd username #新建用户
2 passwd username #设置密码
3 sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config #设置禁止root登陆
4 /etc/init.d/ssh restart #重启SSH
            

建议同时设置更强的密钥登录提升安全性