logo NodeSeekbeta

安利一个我私藏的运维神器 Next Terminal

新🐔流程

每次搞到一台新鸡,我都得先来一套“SSH 初始化”套餐

比如,为了安全和省事,得先配个密钥登录吧?然后还得搞个 IP 白名单,免得被外面的人扫来扫去。

  1. 密钥配置
    参考之前发的帖子 https://www.nodeseek.com/post-340406-1
  2. ssh 设置白名单
    #!/bin/bash
    # 检查参数是否提供
    if [ $# -ne 1 ]; then
    	echo "Usage: $0 <comma-separated IP list>"
    	exit 1
    fi
    # 提取IP地址列表并转换成数组
    IFS=',' read -ra IP_LIST <<< "$1"
    
    for ip in "${IP_LIST[@]}"
    do
    	ALLOW_RULE="sshd:$ip:allow"
    	if grep -q "$ALLOW_RULE" /etc/hosts.allow; then
    		echo "Rule already exists: $ALLOW_RULE"
    	else
    		echo "Adding rule: $ALLOW_RULE"
    		echo "$ALLOW_RULE" >> /etc/hosts.allow
    	fi
    done
    # 设置hosts.deny文件,拒绝所有其他IP地址的访问
    echo "sshd:ALL" > /etc/hosts.deny
    # 提示用户设置完成
    echo "sshd access restricted to IP addresses: ${IP_LIST[@]}"
    echo "All other sshd access denied."
    
    和SSH密钥配置一样,这里我也推荐你放到github/服务器,然后远程下载下来使用。
    curl https://xxxx/ssh_whitelist.sh | bash -s "ip1,ip2,172.16.0.0/12"
    

烦恼来了

搞一台机器还行,点几下鼠标,敲几行代码,完事。但要是一次性来了十几台呢?那简直就是噩梦的开始,纯纯的体力活,还特容易手滑配错一台,回头排查问题想死的心都有了。

我就琢磨,凭啥这些破事儿不能自动化、批量搞定呢? 总得有个工具,能让我舒舒服服地当个“懒人”,还能记下我干了啥吧?

于是,经过一番折腾,我挖到了一个宝藏——Next Terminal!

登场!Next Terminal - 你的服务器管家

GitHub 地址: https://github.com/dushixiang/next-terminal

先叠个甲哈:这项目现在学坏了,搞起了“二进制开源”,意思就是 Github 上只有前端代码,后端不开源了。不过别慌,基础功能全都免费,对我们个人用户来说,完全够用!

它长这样,一个 Web 界面管你所有的服务器,清爽得很:

Next Terminal 资产列表

这玩意儿到底爽在哪?

它精准地捶在了我的痛点上,尤其是这两个功能,谁用谁知道!

1. 命令片段(我的作弊小抄)

你可以把自己常用的命令、脚本,全都存成一个个“片段”。下次用的时候,鼠标一点直接粘贴到终端,再也不用满世界找命令或者担心敲错了。

命令片段功能

2. 批量执行(懒人福音)

这功能简直神了!比如,给所有机器批量 apt update && apt upgrade -y,或者改个啥配置。还记得上次 Cloudflare 不支持双向gRPC的事情吗?我的一堆小鸡连不上哪吒面板了,当时就靠这个“批量执行”,选中所有机器,批量切换配置文件中的服务器地址,几秒钟全部搞定,那感觉,爽!

批量执行功能

来,手把手教你上车

废话不多说,直接上车。我这里还是老规矩,用 Docker Compose + Cloudflare Tunnel 的组合拳,让你在外面也能随时随地安全访问。

第一步:拽个官方配置下来

curl -sSL https://f.typesafe.cn/next-terminal/config-postgres.yaml > config.yaml

第二步:抄作业,建个 compose.yml 文件

# compose.yml
services:
  # 这俩是 Next-Terminal 的依赖,照着写就行
  guacd:
    image: dushixiang/guacd:1.5.5
    restart: always
  postgresql:
    image: postgres:16
    environment:
      POSTGRES_DB: next-terminal
      POSTGRES_USER: next-terminal
      POSTGRES_PASSWORD: next-terminal # 密码自己改,配置文件里面的也得改
    volumes:
      - ./data/postgresql:/var/lib/postgresql/data
    restart: always

  # 主角登场
  next-terminal:
    image: dushixiang/next-terminal:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
      - ./config.yaml:/etc/next-terminal/config.yaml
    depends_on:
      - postgresql
      - guacd
    restart: always

  # 用Cloudflare隧道穿透,安全又方便
  tunnel:
    image: cloudflare/cloudflared
    restart: always
    command: tunnel run
    environment:
      # 去CF后台复制你的隧道TOKEN粘这儿
      - TUNNEL_TOKEN=<你的TUNNEL_TOKEN>

第三步:启动!

  1. 去 Cloudflare Zero Trust 后台搞个隧道,把 Token 粘到上面文件里。
  2. 给隧道配个域名,指向 http://next-terminal:8088。
  3. 在 compose.yml 所在的目录里,运行 docker compose up -d,完活!

小贴士: 怕它崩?可以写个 crontab 定时任务,每分钟检查一下,保证它活得好好的。

*/1 * * * * cd /你放compose的路径 && docker compose up -d

最后,插播一条恰饭信息(不喜可跳过)

正好,官方最近(6.12-6.18)在搞活动,价格还挺香,有需要的兄弟可以瞅瞅。

  • 个人专业版 (1用户 / 10资产) 永久授权:¥99
  • 团队专业版 (3用户 / 100资产) 永久授权:¥498

AFF链接: https://next-terminal.typesafe.cn/pricing?code=NTaHaNyQYK
Image
实话实说,免费版对我们绝大多数人绝对够用了,核心功能没有限制,专业版都是一些锦上添花的功能,也没必要花钱。我是从老版本开始白嫖的,算是补票了,各位按需选择哈!

  • @3az7qmfd #8 nodeseek能有我什么隐私 xhj025
    这玩意能扬了我的🐔窝

  • 支持一下

  • 这些现在常见的终端工具都能实现,要不就jumpserver了,也能实现,没必要付费

  • @lcy0828 #1 jumpserver太重 跟一座山似的 个人用没必要上。

  • 好东西!

  • 管理探针必备 xhj003

  • 咦。这个现在有个人版了啊?

  • 国人的不碰,怕付费收割或者不声不响卖隐私

  • xhj025

  • 2年前我就用的nt...直到有一次被人打,进不去,一堆小鸡重装...最后发现还是xshell好,瓷砖布局 + 快速命令比啥都香

    xhj010

  • 不错

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72033位seeker

🎉欢迎新用户🎉