Eu corro um servidor de arquivos linux para o meu escritório e utilizamos o SFTP para que parceiros remotos façam login e baixem arquivos. Existe uma maneira de verificar se há alguma conexão ou logon ativo para que eu possa saber quando é seguro executar a manutenção na máquina?
Como a máquina está servindo quase constantemente arquivos grandes, a manutenção programada geralmente é interrompida devido a alguém fazer o upload
netstat -atn | grep ':22'
para ver se havia tráfego aberto na porta 22. Também descobri que podia verificar os logs sshd, localizados em '/var/log/auth.log' no meu sistema, para ver se todos os usuários que abriram um a sessão foi encerrada.Você também pode tentar
fuser -u ssh/tcp
fonte
Eu acho que você pode usar o programa de linha de comando
who
para ver isso. Percebi alguns relatórios de que isso não funciona, mas ainda acho que pode funcionar (talvez seja uma configuração ssh).O sftp é construído sobre o SSH . Representa o "SSH File Transfer Protocol". E quando você estiver conectado pelo ssh, 'who' o incluirá como usuário conectado com sua saída. Então, eu esperaria que isso funcionasse também com sessões sftp ativas.
Esta discussão de 2008 também sugere que você possa usar 'netstat' para isso. Também inclui uma sugestão para executar 'who' via 'watch' para que você possa ver as atualizações sem fazer nada.
fonte