🖧 Как просмотреть журналы SSH на Linux |

🖧 Как просмотреть журналы SSH на Linux

Мануал

Логи могут очень помочь вам при устранении неполадок.

Давайте посмотрим, как можно просмотреть логи SSH на вашем сервере Linux.

Кто получает доступ к вашей системе Linux через SSH?

Кто пытается, но не может получить доступ к вашей системе через SSH?

Если кто-то не может получить доступ к системе через SSH, почему это так?

Вы можете получить такие ответы, просмотрев журналы SSH.

🖧 Как показать предупреждение безопасности неавторизованным пользователям SSH

Как просматривать логи SSH?

Все это зависит от того, использует ли ваша система systemd или нет.

Поскольку большинство дистрибутивов Linux в наши дни используют systemd, вы можете проверить журналы SSH с помощью:

sudo journalctl -u ssh
ноя 18 14:06:11 ios21u3 sshd[3866368]: Accepted password for root from 10.2.67.11 port 55115 ssh2
ноя 18 14:06:11 ios21u3 sshd[3866368]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
ноя 26 08:54:40 ios21u3 sshd[1355971]: Accepted password for root from 10.2.67.11 port 59230 ssh2
ноя 26 08:54:40 ios21u3 sshd[1355971]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
ноя 26 16:14:46 ios21u3 sshd[1565593]: Accepted password for root from 10.2.67.11 port 63154 ssh2
ноя 26 16:14:46 ios21u3 sshd[1565593]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)

Давайте рассмотрим это подробнее с большим количеством примеров.

Просмотр журналов SSH за указанный период времени

Для доступа к журналам SSH вам необходимо быть пользователем root или запустить команды journalctl с помощью sudo.

Для публичного сервера будут сотни строк за последние несколько дней.

Вы можете дополнительно отфильтровать журналы журнала по времени и дням.

Например, если вам нужны последние журналы SSH, допустим, за последние 5 минут, используйте:

sudo journalctl -u ssh --since -5m

Чтобы посмотреть активности SSH дольше одного часа:

sudo journalctl -u ssh --since -1h
Чтобы получить информацию за последние 3 дня:
journalctl -u ssh --since -3d

Вы также можете просмотреть логи journalctl до определенного времени:

sudo journalctl -u ssh --until "2024-11-20 09:00:00"

Journalctl является частью systemd и использует нотации systemd.

Здесь -u обозначает единицу systemd. Когда вы используете journalctl -u ssh, вы указываете ему показывать журналы журнала для единицы ssh systemd.

Просмотр логов SSH в реальном времени

Вы также можете смотреть журналы SSH в реальном времени

sudo journalctl -fu ssh

Параметр -f команды journalctl означает «follow», аналогично тому, что вы видите в команде tail и других командах.

Нажмите Ctrl+C, чтобы остановить просмотр журналов.

Если SSH-соединения блокируются брандмауэром, то вы не увидите их в журналах SSH.

В таком случае вам следует проверить журналы брандмауэра.

Просмотр журналов SSH не в systemd

Если ваш сервер не использует systemd, не беспокойтесь.

Вы можете найти логи SSH в классическом syslog-стиле.

sudo grep sshd /var/log/auth.log

Подобную информацию вы также увидите здесь:

Nov 26 08:54:40 ios21u3 sshd[1355971]: Accepted password for root from 10.2.67.11 port 59230 ssh2
Nov 26 08:54:40 ios21u3 sshd[1355971]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
Nov 26 12:06:40 ios21u3 sshd[1355971]: pam_unix(sshd:session): session closed for user root
Nov 26 16:14:46 ios21u3 sshd[1565593]: Accepted password for root from 10.2.67.11 port 63154 ssh2
Nov 26 16:14:46 ios21u3 sshd[1565593]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
Nov 26 16:57:32 ios21u3 sudo: root : TTY=pts/4 ; PWD=/root ; USER=root ; COMMAND=/usr/bin/grep sshd /var/log/auth.log
Если вам просто интересно узнать, кто вошел на сервер, используйте такие команды, как last, lastlog, w и т. д.

Почему так много попыток подключения по SSH и что с этим можно сделать?

Вы заметили, что попыток подключения было так много?

Вот что происходит, когда у вас есть сервер в публичной сети с включенным SSH.

Есть боты, которые постоянно пытаются получить доступ через SSH.

Но они не знают имя пользователя или пароль вашей системы, так почему они пытаются это сделать?

Потому что они пытаются использовать какое-то общее имя пользователя или имя приложения или службы с общими или стандартными паролями.

Есть несколько инструментов для противодействия таким атакам.

Попробуйте Fail2Ban для начала.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий