Mi aplicación (JetBrains CLion) se conecta a mi servidor remoto SFTP
y 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 SFTP
las sesiones en tiempo real y ver qué está sucediendo? Estoy root
en el servidor. El servidor ejecuta Ubuntu 16.
PD: Si ejecuto SFTP
yo mismo y put
los archivos, están bien.
En el lado del cliente, no veo ningún problema en los registros: solo alguna sesión con put
y stat
comandos similares con Ok
salidas. También me gustaría depurar el lado del servidor.
Respuesta1
ElServidor OpenSSHutiliza un programa llamadoservidor sftppara sesiones SFTP. sftp-server
tiene 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 Subsystem
lí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 sshd
para 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.