como obter logs scp no servidor remoto

0

Basicamente, desejo registrar cada arquivo enviado ou recebido via SCP no servidor.

Digamos que um usuário faça um SCP do Server-1 para o Server-2. Eu descobri a maneira de obter logs no lado do remetente, mas como conseguir o que foi transferido no lado do receptor?

Eu quero os logs no lado do receptor contendo os nomes dos arquivos que são transferidos para ele via SCP.

Além disso, para obter os logs no lado dos remetentes, estou usando meu script bash, que primeiro salva o nome do arquivo em um arquivo de log e, em seguida, usa o SCP para transferi-lo. Existe uma abordagem melhor para isso?

Agradecemos antecipadamente por qualquer sugestão.

    
por Shubham Jain 09.10.2017 / 09:10

2 respostas

0

Você pode tentar substituir o comando scp no servidor por uma versão modificada que faz o que você precisa. scp é um programa muito simples e adicionar algum código de log não deve ser uma tarefa difícil.

    
por 24.10.2017 / 21:01
0

Você provavelmente está usando o pacote de software OpenSSH. O utilitário OpenSSH scp não registra nada. Ele suporta a saída de depuração para a sessão SSH subjacente, mas isso não registra as transferências de arquivos reais que estão ocorrendo.

Da mesma forma, o servidor OpenSSH pode ser configurado para registrar detalhes sobre o que está fazendo e pode ser configurado para registrar o fato de que um usuário conectou e executou scp , mas não registrará as transferências de arquivos reais ocorrendo.

Se você não conseguir que esses usuários usem o SFTP, existem três abordagens disponíveis para você:

  1. Investigue servidores alternativos (em outras palavras, comerciais) SSH / SFTP / SCP. Eles geralmente devem suportar o registro de transferências de arquivos.

  2. Substitua o utilitário scp no servidor por um que registre os dados desejados. OpenSSH é open source. Alguém que saiba programar em C para Unix poderia baixar a fonte e modificá-la.

  3. Substitua o utilitário scp por um "wrapper" que inicialize o programa scp original e monitore o que ele faz. Existem ferramentas de depuração para o Unix que podem monitorar o que outro processo está fazendo.

Eu precisava registrar scp transferências uma vez e usei a terceira abordagem. Eu escrevi um script Perl que lançou o programa scp original em strace . Strace mostraria os nomes dos arquivos sendo abertos e fechados pelo processo scp. O script Perl analisou a saída strace e descobriu quais arquivos estavam sendo transferidos.

    
por 09.10.2017 / 15:39

Tags