安装 ttyd

下载 ttyd 二进制

cd /usr/local/bin
curl -L -o ttyd https://github.com/tsl0922/ttyd/releases/latest/download/ttyd.x86_64
chmod +x ttyd

创建 ttyd 服务

cat >/etc/systemd/system/ttyd.service <<'EOF'
[Unit]
Description=ttyd Web Terminal
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/ttyd -t enableZmodem=true -t zmodemUpload=true -t zmodemDownload=true -p 7681 -W bash
Restart=always
RestartSec=3
User=root
WorkingDirectory=/root
KillSignal=SIGTERM

[Install]
WantedBy=multi-user.target
EOF

启动 ttyd 服务

systemctl daemon-reload
systemctl enable --now ttyd

通过 nginx 代理

dnf -y install httpd-tools

htpasswd -c /etc/nginx/.htpasswd ttydadmin

    location ^~ /tda8a7c0-5004-463d-8d14-4b177744cc02/ {
        auth_basic "Restricted Web Terminal";
        auth_basic_user_file /etc/nginx/.htpasswd;
        proxy_pass http://127.0.0.1:7681/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 7d;
        proxy_send_timeout 7d;
        proxy_buffering off;
        expires off;
        sendfile off;
    }

替代方案

docker run -itd -p 7681:5000 \
--name python-ssh-terminal \
--restart always \
-e SSH_HOST="127.0.0.1" \
-e SSH_PORT="22" \
-e SSH_USERNAME="user" \
-e SSH_PASSWORD="password" \
-e URL_PREFIX="/ttyd/" \
jinzhengba/python-ssh-terminal

安装 filebrowser

下载 filebrowser 二进制

cd /usr/local/bin
curl -LO https://github.com/filebrowser/filebrowser/releases/latest/download/linux-amd64-filebrowser.tar.gz
tar xf linux-amd64-filebrowser.tar.gz
chmod +x /usr/local/bin/filebrowser
rm linux-amd64-filebrowser.tar.gz -rf

初始化配置

mkdir -p /var/lib/filebrowser
cd /var/lib/filebrowser
# 必须在上方目录下执行
filebrowser config init  #初始化配置
filebrowser users add admin password --perm.admin  #新增用户
filebrowser users update admin --password password  #修改密码

创建 filebrowser 服务

cat >/etc/systemd/system/filebrowser.service <<'EOF'
[Unit]
Description=File Browser Web UI
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/filebrowser -a 0.0.0.0 -p 7682 -r / -b /fd6a075d-96c6-4373-a1e7-44d56a7b1209 -d /var/lib/filebrowser/filebrowser.db
Restart=always
RestartSec=3
User=root
WorkingDirectory=/
KillSignal=SIGTERM

[Install]
WantedBy=multi-user.target
EOF

启动 filebrowser 服务

systemctl daemon-reload
systemctl enable --now filebrowser

通过 nginx 代理

    location ^~ /fd6a075d-96c6-4373-a1e7-44d56a7b1209/ {
        auth_basic "Restricted File Manager";
        auth_basic_user_file /etc/nginx/.htpasswd;
        proxy_pass http://127.0.0.1:7682/;
    }
文章作者: Captain
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 One piece
教程
喜欢就支持一下吧