Вопрос или проблема
Я подключаюсь к своему серверу по ssh, и всегда отображается последний лог: Последний вход: Суб Мар 19 14:05:17 2016 с...
, но этот лог – это мой текущий вход. Какова полезность этой информации? Он должен показывать предыдущее соединение.
Gentoo 64 бита
Openssh v7.2
Я видел эту проблему, когда генерировались два типа ответа “Последний вход:”. Это связано с тем, что у меня была настроена pam_lastlog, а также SSH имел включенную по умолчанию опцию PrintLastLog.
Ответ или решение
Проблема вывода информации о последнем входе в систему через SSH
Когда вы подключаетесь к серверу через SSH и видите сообщение «Last login: Sat Mar 19 14:05:17 2016 from…», это может вызывать недоумение, особенно если данная информация соответствует вашему текущему входу. Давайте подробно разберем, почему это происходит и как это связано с настройками вашего серверного окружения, используя конфигурацию Gentoo и OpenSSH v7.2.
Причины возникновения проблемы
-
Настройки PAM (Pluggable Authentication Modules):
Ваша проблема, как вы уже отметили, может быть связана с конфигурацией PAM. Для вывода информации о последнем входе используется модульpam_lastlog
, который записывает информацию о последнем входе каждого пользователя. Если этот модуль настроен неправильно, он может отображать информацию о текущем входе вместо предыдущего. -
Опция PrintLastLog:
OpenSSH по умолчанию имеет включенную опциюPrintLastLog
, которая отвечает за отображение информации о последнем логине до того, как пользователь получит доступ к командной строке. Однако еслиpam_lastlog
также активен, это может привести к конфликтам, и в результате будет отображаться неверная информация.
Как решить проблему
-
Проверка конфигурации PAM:
Убедитесь, чтоpam_lastlog
правильно настроен в файле/etc/pam.d/sshd
. В этом файле нужно убедиться, что модуль не конфликтует с другими модулями, которые могут изменять поведение системы.Пример настройки:
session required pam_lastlog.so showfailed
Эта строка позволит корректно показывать информацию о последнем входе.
-
Проверка настроек SSH:
Если вы хотите отключить отображение информации о последнем входе, вы можете изменить файл конфигурации SSH, который обычно находится по пути/etc/ssh/sshd_config
. Найдите строку с параметромPrintLastLog
и установите ее вno
:PrintLastLog no
После изменения параметров не забудьте перезапустить SSH-сервер, чтобы изменения вступили в силу:
sudo systemctl restart sshd
-
Убедитесь в отсутствии конфликтов:
Если у вас установлены другие механизмы аутентификации или мониторинга, убедитесь, что они не влияют на вывод информации о входе. Это может быть как локальное программное обеспечение, так и встроенные возможности ОС.
Заключение
Вывод информации о последнем входе, который отображается некорректно, скорее всего, является следствием конфликта между модулями PAM и настройками SSH. Важно убедиться, что настройки вашего окружения правильно согласованы друг с другом. В большинстве случаев, после проверки и настройки конфигураций проблема должна быть решена, и вы сможете видеть актуальную информацию о последнем входе в систему.