WEB 运维 ttyd & filebrowser
安装 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/;
}
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
One piece!
喜欢就支持一下吧