Como depurar/rastrear conversas SFTP recebidas?

Como depurar/rastrear conversas SFTP recebidas?

Meu aplicativo (JetBrains CLion) se conecta ao meu servidor remoto SFTPe coloca arquivos nele. Infelizmente, os arquivos aparecem preenchidos com zero bytes. Quero rastrear o que deu errado.

Posso executar algo no meu servidor para monitorar SFTPas sessões em tempo real e ver o que está acontecendo. Eu sou um rootservidor. O servidor executa o Ubuntu 16.

PS Se eu executar SFTPa mim mesmo e putaos arquivos, eles estarão ok.


No lado do cliente, não vejo problemas nos logs: apenas algumas sessões com pute statcomandos semelhantes com Oksaídas. Então, gostaria de depurar o lado do servidor também.

Responder1

OServidor OpenSSHusa um programa chamadoservidor sftppara sessões SFTP. sftp-servertem algumas opções para controlar o registro:

-f log_facility
Especifica o código de recurso usado ao registrar mensagens do servidor sftp. Os valores possíveis são: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. O padrão é AUTH.

-l log_level
Especifica quais mensagens serão registradas pelo servidor sftp. Os valores possíveis são: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 e DEBUG3. INFO e VERBOSE registram transações que o servidor sftp executa em nome do cliente. DEBUG e DEBUG1 são equivalentes. DEBUG2 e DEBUG3 especificam níveis mais altos de saída de depuração. O padrão é ERRO.

Para aplicá-los, você abre o seu sistemasshd_configarquivo e encontre a Subsystemlinha para SFTP. Será parecido com uma ou outra destas duas linhas:

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

O que quer que você tenha, anexe os argumentos de registro ao final:

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

Após a edição sshd_config, você deve reiniciar sshdpara que a alteração tenha efeito.

Depois de fazer tudo isso, as sessões SFTP deverão começar a registrar informações de depuração no syslog. Você pode usar as mensagens de depuração para rastrear os comandos enviados por um cliente e as operações do sistema de arquivos que o servidor SFTP executa.

O programa sftp-server é escrito em C e você pode encontrar o código fonteaqui. Se você conseguir entendê-lo, provavelmente achará o código-fonte útil para entender as mensagens de log.

informação relacionada