AIStudio SSH 公钥管理,一处配置,处处可用AIStudio SSH 公钥管理,一处配置,处处可用 ,只为更佳开发体验如何配置
Skip to content
回到全部文章

在智算云平台上使用 File Browser 管理数据

File Browser 是一个强大的文件管理工具,支持通过 Web 界面轻松管理服务器上的文件。本教程将指导你如何在智算云平台的开发机上安装和使用 File Browser。

TIP

  • 开发机文件传输选项还包括 FileZillaSCP/SFTP(开发机)
  • 如需管理高性能存储上的文件,您还可以考虑使用 AICoder。AICoder 为免费向平台用户提供的 CPU 实例,已集成 File Browser 体验,无需安装,可用于向高性能共享存储读写文件。

File Browser 简介

File Browser 提供了直观的 Web 界面,支持上传、删除、预览、重命名文件和文件夹等操作,可极大方便大家上传和管理大文件和文件夹。

alt text

安装 File Browser

一键安装

如果能熟练解决科学上网问题,可使用以下一键安装脚本。

curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash

手动安装(适合国内网络环境)

你也可以使用我们适配了国内网络环境的安装脚本。

  1. 新建安装脚本。

    bash
    vim get.sh
  2. 将以下内容粘贴到 vim 编辑器中。

    • 进入粘贴模式::set paste(这可以防止自动缩进和格式化,保持脚本原有格式)
    • i 进入插入模式
    • 粘贴脚本内容
    • Esc 退出插入模式
    • 关闭粘贴模式::set nopaste
    • 保存并退出::wq

    待复制 get.sh 脚本内容如下:

    shell
    #!/usr/bin/env bash
    #
    #           File Browser Installer Script for AMD64 Linux
    #
    #   GitHub: https://github.com/filebrowser/filebrowser
    #   Issues: https://github.com/filebrowser/filebrowser/issues
    #   Requires: bash, mv, rm, type, curl/wget, tar
    #
    #   This script installs File Browser v2.30.0 to your path on AMD64 Linux.
    #   Usage:
    #
    #   	$ bash <(curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh)
    #   	  or
    #   	$ bash <(wget -qO- https://raw.githubusercontent.com/filebrowser/get/master/get.sh)
    #
    #   In automated environments, you may want to run as root.
    
    install_filemanager()
    {
      trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; return 1' ERR
      install_path="/usr/local/bin"
    
      # Fall back to /usr/bin if necessary
      if [[ ! -d $install_path ]]; then
        install_path="/usr/bin"
      fi
    
      # Check if sudo is needed
      ((EUID)) && sudo_cmd="sudo"
    
      filemanager_bin="filebrowser"
      filemanager_os="linux"
      filemanager_arch="amd64"
      filemanager_tag="v2.30.0"
      # 如失效,访问 https://ghproxy.link/ 获取其他地址
      ghproxy="https://gh-proxy.com/"
    
      ########################
      # Download and extract #
      ########################
    
      echo "Downloading File Browser $filemanager_tag for $filemanager_os/$filemanager_arch..."
      filemanager_file="${filemanager_os}-${filemanager_arch}-filebrowser.tar.gz"
      filemanager_url="${ghproxy}https://github.com/filebrowser/filebrowser/releases/download/${filemanager_tag}/${filemanager_file}"
      echo "Download URL: $filemanager_url"
    
      if type -p curl >/dev/null 2>&1; then
        curl -L --progress-bar "$filemanager_url" -o "/tmp/$filemanager_file"
      elif type -p wget >/dev/null 2>&1; then
        wget --show-progress -q "$filemanager_url" -O "/tmp/$filemanager_file"
      else
        echo "Aborted, could not find curl or wget"
        return 7
      fi
    
      echo "Extracting..."
      tar -xzf "/tmp/$filemanager_file" -C "/tmp/" "$filemanager_bin"
      chmod +x "/tmp/$filemanager_bin"
    
      echo "Installing File Browser to $install_path (may require password)"
      $sudo_cmd mv "/tmp/$filemanager_bin" "$install_path/$filemanager_bin"
      if setcap_cmd=$(PATH+=$PATH:/sbin type -p setcap); then
        $sudo_cmd $setcap_cmd cap_net_bind_service=+ep "$install_path/$filemanager_bin"
      fi
      $sudo_cmd rm -- "/tmp/$filemanager_file"
    
      if type -p $filemanager_bin >/dev/null 2>&1; then
        echo "Successfully installed File Browser $filemanager_tag"
        trap ERR
        return 0
      else
        echo "Something went wrong, File Browser is not in your path"
        trap ERR
        return 1
      fi
    }
    
    install_filemanager

    NOTE

    粘贴大段代码到 vim 时,使用 :set paste 非常重要。它可以防止 vim 的自动缩进和其他格式化功能,确保脚本保持原有的格式和缩进。这对于 shell 脚本尤其重要,因为不正确的缩进可能导致脚本无法正常运行。

  3. 给脚本添加执行权限。

    bash
    chmod +x get.sh
  4. 安装 File Browser。

    bash
    bash get.sh

启动 File Browser 服务

File Browser 主命令为 filebrowser,格式如下,默认会占用 8080 端口。

bash
filebrowser -r /path/to/your/files

例如,让 FileBrowser 服务托管 Ubuntu 服务器上所有用户的主目录(/home)目录

bash
filebrowser -r /home

例如,让 FileBrowser 服务托管 Ubuntu 服务器上 Jane Doe 的主目录(/home/janedoe)。

bash
filebrowser -r /home/janedoe

例如,让 FileBrowser 服务托管 / 目录,使用非默认端口 8089

bash
filebrowser -r / --port 8089

使用 tmux 启动 File Browser 服务

上面的启动方式无法在退出 SSH 会话后保持 File Browser 服务持续运行。为了让 File Browser 在退出 SSH 会话后继续运行,可以使用 tmux:

  1. 创建名为 filebrowser 的新 tmux 会话:

    bash
    tmux new -s filebrowser
  2. 在 tmux 会话中启动 File Browser:

    bash
    filebrowser -r / --port 8089
  3. 分离 tmux 会话(保持服务在后台运行):按 Ctrl+B,然后按 D

    现在,即使关闭 SSH 连接,File Browser 也会继续运行。

在需要重新进入到运行 filebrowser 的会话时,执行以下操作:

  1. 查看现有的 tmux 会话:

    bash
    tmux ls
  2. 重新连接到 File Browser 会话:

    bash
    tmux attach -t filebrowser

通过上述 tmux 命令,你可以:

  • 创建一个新的 tmux 会话并在其中运行 File Browser
  • 分离会话,使 File Browser 在后台继续运行
  • 列出所有正在运行的 tmux 会话
  • 重新连接到 File Browser 会话以查看或管理服务

在智算云平台直接访问 File Browser 界面

AIStudio 平台为了方便用户访问应用 UI 界面,提供了 Web 应用预览功能,可转发开发机实例内的 Web UI 服务。

  1. 创建或改配 AIStudio 开发机,填写 Web 应用预览端口号。开发机启动后生效。

  2. 启动 FileBrowser 服务,并绑定到所有网络接口(0.0.0.0)。

    bash
    # 假设当前开发机 Web 应用预览端口号已被配置为 8089,则需要使用 --port 指定同样的端口号
    filebrowser -a 0.0.0.0 -r / --port 8089

    IMPORTANT

    在启动 Web 服务时,请绑定到所有网络接口(0.0.0.0)。部分 Web 服务默认绑定 127.0.0.1localhost,请在启动时显示指定为 0.0.0.0,否则无法预览。

NOTE

访问 Web 应用预览界面要求登录 AIStudio 账号。

在本地访问 File Browser 界面

并非只能在 AIStudio 上访问 Web 应用的 UI 界面。如果想要从自己的设备上访问看板,可以使用 SSH 端口转发实现。详见公网访问开发机内 HTTP 服务

为了在本地访问开发机内部运行的 File Browser 服务,我们需要在本地计算机上完成 SSH 端口转发设置。

NOTE

请提前确保本地计算机可 SSH 远程登录开发机。配置方式可参考教程SSH 端口转发:公网访问开发机内 HTTP 服务

首次登录

在浏览器中打开 FileBrowser 的 Web 界面。

使用以下默认凭据:

  • 用户名:admin
  • 密码:admin

登录后,请立即更改默认密码以确保安全。

NOTE

如果在自己的设备上访问,地址为 http://localhost:[port][port] 应替换为本地进行转发的端口号。

修改默认语言

在浏览器中打开 http://localhost:5009/settings/profile,可将 File Browser 的默认语言改为简体中文,然后点击更新

alt text

终止 SSH 端口转发

当你不再需要访问 File Browser 服务时,应该终止 SSH 端口转发连接。这可以通过以下步骤完成:

  1. 找到 SSH

    bash
    ps aux | grep "ssh -N -f -L"

    或者对于 AICoder:

    bash
    ps aux | grep "ssh -L.*-N -f -J"
  2. 你会看到类似这样的输出:

    user    1234  0.0  0.0  42532   784 ?        Ss   10:00   0:00 ssh -N -f -L 5009:127.0.0.1:8089 -p 43500 root@219.135.228.245
  3. 记下进程 ID(PID),这里是 1234。

  4. 终止该进程:

    bash
    kill 1234

    替换 1234 为你在第 2 步中看到的实际 PID。

通过这些步骤,你可以安全地关闭 SSH 端口转发连接。当你再次需要访问 File Browser 服务时,只需重新执行之前的 SSH 端口转发命令。

注意事项

  1. 请确保你有权限访问和管理指定的目录。
  2. 及时更新 File Browser 以获得最新的功能和安全修复。
  3. 不要依赖 File Browser 传输大量数据或超大文件。如有类似需求,请考虑使用 rsync 等命令行工具。

通过使用 File Browser,可以更高效地管理智算云平台上的文件,无需记忆复杂的命令行操作。希望本教程能帮你充分利用这个强大的工具!