filessh

JayanAXHFUnlicense活跃维护

用 Rust 写的终端界面文件浏览器,通过 SSH/SFTP 连远程服务器,像本地文件管理器一样浏览、管理远端文件,比敲命令快得多。

A fast and convenient TUI file browser for remote servers

v0.4.4发布于 2026-07-25 10:59 UTC236star8fork同步于 2026-11-07 07:33 UTC

怎么上手

由 README 提炼,执行前请确认
brew install jayanaxhf/taps/filessh
cargo install --locked filessh
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

在终端里浏览和管理远程 SSH 服务器文件的 TUI 工具,支持就地编辑与并行递归下载

用 Rust 写的终端界面文件浏览器,通过 SSH/SFTP 连远程服务器,像本地文件管理器一样浏览、管理远端文件,比敲命令快得多。

核心能力

  • 用三栏 TUI 浏览远程文件列表、元数据与文件内容
  • 按 e 调用 $EDITOR 就地编辑远程文件
  • 并行遍历目录实现递归下载
  • Ctrl+o 直接在当前目录打开 SSH 会话
  • 支持重命名、删除、新建文件与目录及按名过滤

容易踩的坑

默认 SSH 端口为 22,非标准端口需用 -p 指定;编辑文件需先按 Enter 加载内容再按 e;需自备可用的 SSH 凭据(用户名、私钥或 OpenSSH 证书)

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.4.4
  1. v0.4.4最新正式版2026-07-25 · 2026-07-25 10:59 UTC

    Features

    • (tui) Title the new file and folder prompts

    Bug Fixes

    • (ssh_config) Apply the settings a matching wildcard block supplies
    • (cli) Fall back like ssh when a Host omits keywords
    • (ssh_config) Parse the configs people actually have
    • (tui) End the prefix on keys only, and let Esc clear the input mode
    • (tui) End the n prefix on the next key, whatever it is
    • (ssh) Serve the second connect from a decrypted-key cache
    • (ssh) Ask for the passphrase instead of panicking on encrypted keys

    Documentation

    • (tui) Put quit on the existing hint line instead of a new one
    • Document the keybindings, starting with how to quit
  2. v0.4.32026-07-25 · 2026-07-25 10:47 UTC
    查看更新说明

    Documentation

    • Add homebrew formula

    Performance

    • Streamlined build.rs
  3. v0.4.22026-01-25 · 2026-01-25 11:23 UTC
    查看更新说明

    [0.4.2] - 2025-12-28

    Bug Fixes

    • Resolve clippy warnings (#32)

    New Contributors

    Full Changelog: https://github.com/JayanAXHF/filessh/compare/v0.4.1...v0.4.2

  4. v0.4.12025-12-26 · 2025-12-26 17:27 UTC
    查看更新说明

    Other

    • Removed unnecessary dependencies

    Performance

    • Removed unnecessary cloning and used CoW instead of String in some places
  5. v0.4.02025-12-26 · 2025-12-26 14:48 UTC
    查看更新说明

    Features

    • [breaking] Add SSH Config parsing to use hosts defined there (#29)

    Miscellaneous Tasks

    • Release issues

    Features

    • [breaking] Add SSH Config parsing to use hosts defined there (#29) (by @JayanAXHF) - #29

    Styling

    • (CHANGELOG) Revamped Changelog style (by @JayanAXHF)

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    FileSSH

    Built With Ratatui crates.io GitHub Tag

    A TUI-based file explorer for SSH servers, which allows you to browse and manage files on a remote server, edit them in-place, and recursively download directories with parallel directory traversal. It also has the ability to quickly spawn SSH sessions to paths on the remote server.

    Dual-licensed under MIT or the UNLICENSE.

    Made with VHS

    Installation

    homebrew (macOS)

    brew install jayanaxhf/taps/filessh
    

    Cargo

    cargo install --locked filessh
    

    Build from source

    1. Ensure you have Rust and Cargo installed. You can find installation instructions at rust-lang.org.
    2. Clone the repository:
      git clone https://github.com/your-username/filessh.git
      cd filessh
      
    3. Build the project:
      cargo build --release
      
      The executable will be located at target/release/filessh.

    Todo

    • Add support for rsync and scp
    • Iron out bugs

    Usage

    filessh [OPTIONS] <HOST> <PATH>
    

    Features

    1. Modify, delete and browse files on a remote server
    2. Recursively download directories with parallel directory traversal
    3. Quickly open SSH sessions to directories.

    Usage

    filessh [OPTIONS] [HOST] [PATH]
    filessh <COMMAND>
    
    Commands:
      connect              Connect explicitly (same as default command)
      install-man-pages    Install man pages into the system
      install-completions  Generate shell completion scripts
    
    Arguments:
      [HOST]  The remote host to connect to (e.g., 'example.com' or '192.168.1.100')
      [PATH]  Initial directory path to open on the remote host
    
    Options:
      -p, --port <PORT>
              The port number to use for the SSH connection [default: 22]
      -u, --username <USERNAME>
              The username for logging into the remote host
      -k, --private-key <PRIVATE_KEY>
              Path to the private key file for public key authentication
      -o, --openssh-certificate <OPENSSH_CERTIFICATE>
              Optional path to an OpenSSH certificate
      -h, --help
              Print help
      -V, --version
              Print version
    

    Example

    ./target/release/filessh \
        --username myuser \
        --private-key ~/.ssh/id_rsa \
        example.com \
        /home/myuser
    

    Keybindings

    To quit, press Ctrl+q.

    The interface has three panes: the file list, the metadata and file content pane, and the input box that prompts appear in.

    KeyAction
    Ctrl+qQuit
    Tab / Shift+TabMove focus between the panes
    1 / 2 / 3Focus the file list, the content pane, or the input box
    EscReturn to the file list, clearing any prompt or filter

    In the file list:

    KeyAction
    j / k, ↓ / ↑Move the selection
    l / →Enter the selected directory
    h / ←Go to the parent directory
    EnterShow the selected file's contents in the content pane
    eEdit the file in $EDITOR, after Enter has loaded it
    dDownload the selection, prompting for a local path
    fFilter the list by name, as you type
    mRename or move the selection
    xDelete the selection, confirming with y
    n fCreate a file
    n dCreate a directory
    .Hide dotfiles, which are shown by default
    Ctrl+oOpen an SSH session in the current directory

    At a prompt, Enter accepts and Esc cancels.