Appearance
Шпаргалка: Управление логами SSH
1. Использование journalctl (Рекомендуемый метод)
Утилита journalctl собирает логи напрямую от systemd. Это самый гибкий и мощный способ отслеживать работу службы ssh.
- Показать все логи службы SSH:
sudo journalctl -u ssh - Следить за логами в реальном времени (режим "хвоста"):
sudo journalctl -u ssh -f - Показать только последние 50 записей:
sudo journalctl -u ssh -n 50 - Показать логи только за сегодняшний день:
sudo journalctl -u ssh --since today - Показать логи за последний час:
sudo journalctl -u ssh --since "1 hour ago"
2. Классический просмотр через auth.log
В Debian системные события аутентификации традиционно пишутся в файл /var/log/auth.log. Этот метод удобен для быстрого парсинга текста стандартными утилитами.
- Отслеживать новые подключения в реальном времени:
sudo tail -f /var/log/auth.log - Вывести все события, связанные только с SSH:
sudo cat /var/log/auth.log | grep sshd - Искать события в старых заархивированных логах (ротация):
sudo zgrep sshd /var/log/auth.log.*.gz
3. Быстрый поиск инцидентов безопасности
Таблица готовых связок команд для расследования попыток несанкционированного доступа.
| Цель поиска | Команда |
|---|---|
| Успешные входы в систему | sudo grep "Accepted" /var/log/auth.log |
| Попытки входа с неверным паролем | sudo grep "Failed password" /var/log/auth.log |
| Попытки входа под несуществующим логином | sudo grep "Invalid user" /var/log/auth.log |
| Разрывы соединений | sudo grep "Disconnected from" /var/log/auth.log |
Для отображения логов SSH в реальном времени используйте флаг -f (follow):
bash
sudo journalctl -u ssh -fЭто будет показывать новые записи по мере их появления (аналог tail -f).
Другие полезные варианты:
Показать последние N строк и обновлять:
bash
sudo journalctl -u ssh -f -n 50С фильтром по приоритету (например, только ошибки):
bash
sudo journalctl -u ssh -f -p errС выводом в UTC или локальном времени:
bash
sudo journalctl -u ssh -f --utcС подробным выводом (включая PID и пользователя):
bash
sudo journalctl -u ssh -f -o verboseС фильтром по конкретному сообщению (например, по IP):
bash
sudo journalctl -u ssh -f | grep "192.168.1."Если нужно выйти из режима реального времени:
Нажмите Ctrl + C.
Дополнительно: посмотреть логи за последние X минут
bash
sudo journalctl -u ssh --since "10 minutes ago"Или за конкретный промежуток:
bash
sudo journalctl -u ssh --since "2026-08-10 10:00:00" --until "2026-08-10 12:00:00"Если логов нет — проверьте имя сервиса
Иногда служба называется sshd, а не ssh:
bash
sudo journalctl -u sshd -fИли посмотрите точное имя:
bash
systemctl list-units | grep ssh