gotty--在线web终端 : 完善你的在线体验

in 前后端开发 with 0 comment

用过宝塔的都知道,终端怪好用的,不用再次ssh登录,随时随地都可以用浏览器敲命令,实在是太爽辣!
如果不用宝塔全家桶呢?那么何必不试试看gotty--好用的web终端

其实gotty原作好久没见到有人维护了,于是使用了同名且持续更新的版本

gotty的服务

部署流程

在github上复制相应架构的二进制文件链接,然后

sudo sh -c "cd /bin && curl 'https://ghproxy.com/[链接地址]' -L | tar xz"

这样就完成了gotty主程序下载。
为了长期后台运行,我们需要systemctl后台值守
sudo nano /etc/systemd/system/gotty.service,然后输入这些后Ctrl+X Y保存退出

[Unit]
Description=Web-Based Shell Server
Documentation=https://github.com/sorenisanerd/gotty
After=network.target

[Service]
ExecStart=gotty --port 10000 --permit-write --reconnect --close-timeout 60 --permit-arguments bash
User=www-data
Group=www-data
Restart=always

[Install]
WantedBy=multi-user.target

开机自启:sudo systemctl enable gotty
启动gotty:sudo systemctl start gotty
然后打开IP:10000恭喜你,完成了!

完成!

需要注意的地方

  1. gotty默认只可以看不可以输入,需要 --permit-write 参数
  2. 建议使用nginx反代+认证,将gotty藏起来更安全。比如我是这么写nginx配置的:

    location /web/console/ {
        proxy_pass                          http://127.0.0.1:10000/;
        proxy_set_header Host               $host;
        proxy_set_header Upgrade            $http_upgrade;
        proxy_set_header Connection         upgrade;
        proxy_set_header Accept-Encoding    gzip;
    
        auth_basic                          "终端: 需要授权";
        auth_basic_user_file                /etc/nginx/dav_pw;
    }
  3. 切记不要给root权限,否则直接暴露非常危险
Responses