Проверка успешного входа по SSH
Команда
zgrep sshd /var/log/auth.log* -h | grep -F 'Accepted'
предназначена для поиска записей об успешных входах по SSH в логах системы Linux (обычно Debian/Ubuntu), включая сжатые архивы логов.
🔍 Разбор команды по частям:
zgrep sshd /var/log/auth.log*zgrep— аналогgrep, но умеет искать в обычных и сжатых файлах (например,.gz).sshd— ищем только строки, связанные с демоном SSH.-
/var/log/auth.log*— путь к файлам логов авторизации. Звёздочка (*) означает, что будут проверены все файлы, начинающиеся сauth.log, например:auth.logauth.log.1auth.log.2.gz- и т.д.
-
-h -
Подавляет вывод имени файла перед каждой найденной строкой. Полезно, если вы хотите просто увидеть "чистый" список событий.
-
| grep -F 'Accepted' - Передаём результат на следующий
grep. -Fуказывает, что строка'Accepted'— это простой текст (не регулярное выражение).- Ищем только те строки, где 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'