File Manager repeatedly reconnects when browsing ASUSWRT over Dropbear SSH with SCP Legacy Mode
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
Start with src/backend/list-routes.ts, where the report identifies the SFTP channel failure and SSH Exec fallback checks. Reproduce directory browsing against a Dropbear host with SCP Legacy Mode, then inspect how connection state and the listing command affect the fallback. Done means directories can be listed over SSH Exec when SFTP is unavailable without triggering repeated reconnects.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happened?
The File Manager successfully establishes an SSH connection to an ASUS RT-AX52 Pro running stock ASUSWRT, but attempting to open any directory causes the file session to disconnect and repeatedly reconnect.
This occurs with all tested directories, including /tmp, /etc, and /root.
The SSH terminal works correctly, and remote commands execute successfully through SSH Exec.
The router runs Dropbear and does not appear to include an SFTP server. SCP Legacy Mode is enabled, but directory navigation remains unusable.
I investigated the File Manager source code and found two possible causes:
- In src/backend/list-routes.ts, certain SFTP channel failures set sshConn.isConnected = false before calling tryFallbackMethod(). However, the fallback immediately returns HTTP 503 when isConnected is false. A missing SFTP subsystem may therefore prevent fallback to an otherwise working SSH Exec connection.
- The fallback runs command ls -la --color=never ''. The router's embedded shell reports -sh: command: not found when the command builtin is invoked interactively. This may make the fallback incompatible with ASUSWRT.
Neither cause has been conclusively verified as the trigger of the reconnect loop.
Source: https://github.com/Termix-SSH/Plugin-File-Manager/blob/main/src/backend/list-routes.ts
Steps to reproduce
- Add an ASUS RT-AX52 Pro running stock ASUSWRT as an SSH host.
- Enable the File Manager plugin for the host.
- Enable SCP Legacy Mode.
- Open the File Manager.
- Attempt to navigate into any directory, such as /tmp.
- Observe that the file session disconnects and attempts to reconnect instead of displaying directory contents.
What did you expect?
The File Manager should list directories using SSH Exec when the SFTP subsystem is unavailable and SCP Legacy Mode is enabled.
An SFTP subsystem failure should not mark an otherwise working SSH connection as disconnected.
The fallback should also support embedded Linux environments using Dropbear and BusyBox
Termix version
26.10.5
Plugin version
1.1.1
Environment
Termix Desktop on Windows 11 25H2 (local installation). Remote device: ASUS RT-AX52 Pro running stock ASUSWRT with Dropbear SSH and an embedded /bin/sh shell. SCP Legacy Mode enabled.
Logs
No File Manager-specific error logs have been captured yet.
Remote SSH Exec was verified successfully:
ssh -T [email protected] "sh -c 'echo EXEC_OK; ls -ld /tmp'"
EXEC_OK
drwxrwxrwx ... /tmp
The router reports the following when command is invoked in an interactive shell:
-sh: command: not found
Available executables include /usr/sbin/dropbear, /bin/cat, /bin/dd, /bin/tar, and /bin/busybox.
Neither scp nor sftp-server was found in PATH.
Anything else?
This appears to be a compatibility issue affecting embedded Linux devices without an SFTP subsystem.
The following logic may be relevant:
if (isChannelFailure) {
sshConn.isConnected = false;
sshConn.sftp = undefined;
}
tryFallbackMethod();
The fallback then checks !sshConn?.isConnected and returns HTTP 503 instead of attempting SSH Exec.
Additionally, the fallback directory listing command is:
command ls -la --color=never '<path>'
It may be worth making this command compatible with minimal BusyBox shells.
I would appreciate support for SCP Legacy Mode on stock ASUSWRT without requiring additional packages or firmware modifications.
Before you submit
- I searched open and closed issues and this is not a duplicate
- I am on the latest version, or I said which version I am on
- Lenguaje dominante
- TypeScript
- Estrellas
- 1
- Forks
- 3
- Merge medio
- 1 d 4 h
- PR fusionados (30 d)
- 6
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Termix-SSH/Plugin-File-Manager
-
bug platform-desktop
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Termix-SSH/Plugin-File-Manager#19 · 2 comentarios ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Termix-SSH/Plugin-File-Manager#17 · 1 comentario ·
-
bug platform-desktop platform-docker
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Termix-SSH/Plugin-File-Manager#16 · 2 comentarios ·
-
bug platform-desktop platform-docker
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Termix-SSH/Plugin-File-Manager#15 · 2 comentarios ·
-
Unable to start subsystem: sftpAbiertobug platform-docker
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Termix-SSH/Plugin-File-Manager#18 · 1 comentario ·
Todos los issues de Termix-SSH/Plugin-File-Manager
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
better-auth/better-auth#12132 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
o8 next debug build aborts on Glass to Dark appearance switch (nil identifier messaged before check)Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
hurttlocker/o8#5112 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
webrecorder/wabac.js#386 ·
-
needs-triage
Dificultad 1/5 1-3 horas Aptitud para principiantes 92/100
agent-of-empires/agent-of-empires#5098 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día