¿Cómo depurar/rastrear conversaciones SFTP entrantes?

¿Cómo depurar/rastrear conversaciones SFTP entrantes?

Mi aplicación (JetBrains CLion) se conecta a mi servidor remoto SFTPy coloca archivos allí. Desafortunadamente, los archivos aparecen llenos de cero bytes. Quiero rastrear lo que sale mal.

¿Puedo ejecutar algo en mi servidor para monitorear SFTPlas sesiones en tiempo real y ver qué está sucediendo? Estoy rooten el servidor. El servidor ejecuta Ubuntu 16.

PD: Si ejecuto SFTPyo mismo y putlos archivos, están bien.


En el lado del cliente, no veo ningún problema en los registros: solo alguna sesión con puty statcomandos similares con Oksalidas. También me gustaría depurar el lado del servidor.

Respuesta1

ElServidor OpenSSHutiliza un programa llamadoservidor sftppara sesiones SFTP. sftp-servertiene un par de opciones para controlar el registro:

-f instalación_log
Especifica el código de instalación que se utiliza al registrar mensajes desde el servidor sftp. Los valores posibles son: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. El valor predeterminado es AUTH.

-l nivel_registro
Especifica qué mensajes serán registrados por el servidor sftp. Los valores posibles son: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 y DEBUG3. INFO y VERBOSE registran las transacciones que sftp-server realiza en nombre del cliente. DEBUG y DEBUG1 son equivalentes. DEBUG2 y DEBUG3 especifican niveles más altos de resultados de depuración. El valor predeterminado es ERROR.

Para aplicarlos, abra la ventana de su sistema.sshd_configarchivo y busque la Subsystemlínea para SFTP. Se verá como una u otra de estas dos líneas:

Subsystem   sftp    /path/to/sftp-server
Subsystem   sftp    internal-sftp

Lo que sea que haya agregado, agregue los argumentos de registro al final:

Subsystem   sftp    /path/to/sftp-server -l DEBUG3

Después de editar sshd_config, debes reiniciar sshdpara que el cambio surta efecto.

Una vez que haya hecho todo esto, las sesiones SFTP deberían comenzar a registrar información de depuración en syslog. Puede utilizar los mensajes de depuración para rastrear los comandos enviados por un cliente y las operaciones del sistema de archivos que realiza el servidor SFTP.

El programa sftp-server está escrito en C y puede encontrar el código fuenteaquí. Si puede entenderlo, probablemente el código fuente le resulte útil para comprender los mensajes de registro.

información relacionada