Як я можу відстежувати, хто SSH входить до моєї машини Linux?


23

Я запускаю Ubuntu 10.04. Чи є спосіб я отримувати щоденний звіт про те, хто ввійшов у поле, який час і навіть - це, можливо, запитує занадто багато - звіт про команди, які вони використовували? Це поле з низьким рівнем використання, тому я думаю, що це був би гарний спосіб побачити, яка діяльність відбувається на ньому.

По цих же лініях я чув, що неможливо відслідковувати, коли все робиться на коробці за допомогою неінтерактивних оболонок, таких як rsync або просто віддалене виконання окремих команд через ssh. Це правда, чи є спосіб увійти та відстежити це?

Відповіді:


21

Інформація про те, хто ввійшов, коли він доступний /var/log/auth.log(або інші файли журналу в інших дистрибутивах). Існує кілька програм моніторингу журналу, які можуть витягувати інформацію, яку ви налаштуєте, як релевантну. У будь-якій здоровій системі реєструється аутентифікація кожного користувача.

Для реєстрації кожного виклику команди (але не їх аргументів) використовуйте облік процесів , що надається acctпакетом Встановити acct на Ubuntu. Якщо підсистема бухгалтерського обліку працює і працює, то lastcommвідображається інформація про готові процеси.


3
/var/log/secure.log - ще один поширений файл журналу
Адріан Корніш

9

Ви також можете використовувати whoабо wбачити, хто зараз увійшов до системи, включаючи користувачів SSH.


10
lastможе бути кращим варіантом того, що шукала ОП ...
jasonwryan

1
дійсно. "last" - команда, яку ви хочете.
Сірекс

1
Це набагато краща відповідь, ніж обрана.
PaulBGD

0

Зазвичай, коли хтось заходить у систему користувача, тоді в / var / log / messages він надрукується як:

sshd[18468]: Accepted keyboard-interactive/pam for root from 134.64.66.666 port 49867 ssh2

Тому просто приспішіть повідомлення таким чином:

grep -E "Accepted keyboard-interactive/pam for" /var/log/messages

0

Ви також можете змінити оболонку bash, щоб зробити якийсь rsylog.

Ефективно, ви налаштовуєте rsyslog на віддалений хост, щоб приймати конкретні з'єднання. Потім змініть оболонку хоста, за якою ви хочете відстежувати - скомпілювавши свою версію, з такою, яка має такі можливості:

vi config-top.h
#define SYSLOG_HISTORY
#if defined (SYSLOG_HISTORY)
#  define SYSLOG_FACILITY LOG_USER
#  define SYSLOG_LEVEL LOG_INFO
#endif

Після компіляції з цим увімкненим варіантом ви можете замінити bash на цю версію АБО користувачі увійдуть у цю, перенаправляючи на неї свої входи.

Для отримання додаткової інформації:

https://www.pacificsimplicity.ca/blog/remote-logging-using-syslog-and-logging-shell-commands-remotely


Чудово. Я його оновлю.
mcdoomington
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.