Skip to content

Проверка успешного входа по SSH

Команда

zgrep sshd /var/log/auth.log* -h | grep -F 'Accepted'

предназначена для поиска записей об успешных входах по SSH в логах системы Linux (обычно Debian/Ubuntu), включая сжатые архивы логов.


🔍 Разбор команды по частям:

  1. zgrep sshd /var/log/auth.log*
  2. zgrep — аналог grep, но умеет искать в обычных и сжатых файлах (например, .gz).
  3. sshd — ищем только строки, связанные с демоном SSH.
  4. /var/log/auth.log* — путь к файлам логов авторизации. Звёздочка (*) означает, что будут проверены все файлы, начинающиеся с auth.log, например:

    • auth.log
    • auth.log.1
    • auth.log.2.gz
    • и т.д.
  5. -h

  6. Подавляет вывод имени файла перед каждой найденной строкой. Полезно, если вы хотите просто увидеть "чистый" список событий.

  7. | grep -F 'Accepted'

  8. Передаём результат на следующий grep.
  9. -F указывает, что строка 'Accepted' — это простой текст (не регулярное выражение).
  10. Ищем только те строки, где SSH-вход был успешным.

🧾 Пример вывода команды:

May 10 12:34:56 server sshd[1234]: Accepted password for user from 192.168.1.100 port 55432 ssh2
May 10 12:40:01 server sshd[1256]: Accepted publickey for admin from 203.0.113.45 port 62321 ssh2

✅ Что можно узнать из вывода:

  • Дата и время подключения.
  • Пользователь, вошедший в систему.
  • IP-адрес клиента.
  • Тип аутентификации: password или publickey.

💡 Дополнительные варианты использования:

1. Показать только последние N записей:

zgrep sshd /var/log/auth.log* -h | grep 'Accepted' | tail -n 20

2. Посчитать количество успешных входов:

zgrep sshd /var/log/auth.log* -h | grep -c 'Accepted'

3. Найти неудачные попытки входа:

zgrep sshd /var/log/auth.log* -h | grep 'Failed password'