Я запускаю файловый сервер linux для своего офиса, и мы используем SFTP для удаленных партнеров для входа и загрузки файлов. Есть ли способ узнать, есть ли какие-либо активные соединения или логины, чтобы я мог знать, когда безопасно выполнять техническое обслуживание на машине?
Поскольку машина почти постоянно обслуживает большие файлы, плановое обслуживание часто прерывается из-за загрузки
netstat -atn | grep ':22'
чтобы увидеть, существует ли открытый трафик на порту 22. Я также обнаружил, что могу проверить журналы sshd, расположенные по адресу /var/log/auth.log в моей системе, чтобы узнать, все ли пользователи, открывшие сессия была закрыта.Вы также можете попробовать
fuser -u ssh/tcp
источник
Я думаю, что вы можете использовать программу командной строки,
who
чтобы увидеть это. Я заметил некоторые сообщения, что это не работает, но я все еще думаю, что это может работать (возможно, это настройка ssh).sftp построен поверх SSH . Это означает «Протокол передачи файлов SSH». И когда вы вошли в систему через ssh, 'who' включит вас в качестве зарегистрированного пользователя со своими выходными данными. Так что я ожидаю, что это будет работать и с активными сессиями sftp.
Это обсуждение 2008 года также предполагает, что для этого вы можете использовать netstat. Он также содержит предложение запустить «кто» через «часы», чтобы вы могли видеть обновления, ничего не делая.
источник