Проверка успешного входа по 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.log
auth.log.1
auth.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'