Как я могу увидеть, если пользователи вошли в систему через sftp?


11

Я запускаю файловый сервер linux для своего офиса, и мы используем SFTP для удаленных партнеров для входа и загрузки файлов. Есть ли способ узнать, есть ли какие-либо активные соединения или логины, чтобы я мог знать, когда безопасно выполнять техническое обслуживание на машине?

Поскольку машина почти постоянно обслуживает большие файлы, плановое обслуживание часто прерывается из-за загрузки

Ответы:


11

Вы также можете сделать:

ps -ef | grep '[s]shd' | grep -v ^root

который должен показывать любые сессии sshd (которые используются для sftp). Я заметил, что на моей машине моя командная строка sshd-процесса содержит «$ USER @ notty», что имеет смысл, поскольку я не вошел в систему с терминальной сессией. Вы могли бы затянуть вышеупомянутый grep:

ps -ef | grep '[s]shd:.*@notty' | grep -v ^root

Кстати: квадратные скобки в grep не должны отображать процесс 'grep sshd' в списке процессов. [s] shd соответствует sshd, но не соответствует самому себе. Сохраняет «grep -v grep»


4
В конечном итоге я использовал, netstat -atn | grep ':22'чтобы увидеть, существует ли открытый трафик на порту 22. Я также обнаружил, что могу проверить журналы sshd, расположенные по адресу /var/log/auth.log в моей системе, чтобы узнать, все ли пользователи, открывшие сессия была закрыта.
aVeRTRAC


1

Я думаю, что вы можете использовать программу командной строки, whoчтобы увидеть это. Я заметил некоторые сообщения, что это не работает, но я все еще думаю, что это может работать (возможно, это настройка ssh).

sftp построен поверх SSH . Это означает «Протокол передачи файлов SSH». И когда вы вошли в систему через ssh, 'who' включит вас в качестве зарегистрированного пользователя со своими выходными данными. Так что я ожидаю, что это будет работать и с активными сессиями sftp.

Это обсуждение 2008 года также предполагает, что для этого вы можете использовать netstat. Он также содержит предложение запустить «кто» через «часы», чтобы вы могли видеть обновления, ничего не делая.


1
который не показывает пользователей, вошедших через ssh (я только что вошел с моего ноутбука и проверил).
aVeRTRAC

Это странно, это ДОЛЖНО быть местом ... Как я чертовски уверен, что оно сделало это для меня ... годами, годами и годами ...
Джеймс Т Снелл

Есть идеи, где будет эта настройка? Я попробовал это на общедоступном сервере в своей работе и получил то, что выглядит как реалистичные результаты с несколькими пользователями в списке.
aVeRTRAC

1
кто показывает, кто в данный момент запускает оболочку входа. В зависимости от того, что запускает пользователь, он может или не может считаться оболочкой входа. Серверная половина sftp этого не делает, поэтому сеансы sftp не отображаются в who.
Perkins
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.