Как мы все знаем, мы можем ввести баннер в /etc/motd
или в файле /etc/issue.net
, поэтому каждый пользователь, входящий в систему с Linux, получит баннерное сообщение, например:
Red Hat Enterprise Linux Server release 6.8 (Santiago)
Kernel \r on an \m
##########################################################################
# Welcome to OBAMA house !!!
# All connections are monitored and recorded
# Disconnect IMMEDIATELY if you are not an authorized user!
#
##########################################################################
Проблема в том, что баннер отображается также при удаленном входе в систему через ssh
к машинам Linux (в отличие от локального входа в систему).
Мы можем просто игнорировать баннер в ssh, используя флаг -q
в дальнейшем:
ssh -q 192.19.23.45 ls /hillary_emails
Фактически у нас есть более 100 сценариев Bash и Perl, которые используют ssh
, поэтому, если мы добавим баннеры на все машины, нам нужно будет изменить также скрипты, использующие ssh
команда, добавив флаг -q
(бесшумный режим).
Мы предпочитаем не редактировать скрипты по внутренним причинам. Итак, мой вопрос: можно ли изменить конфигурацию клиента Linux таким образом, чтобы баннер отображался только при локальном входе в систему и не отображался при удаленном входе в систему с помощью ssh
?
Думаю вариант SSHD PrintMotd no
могу помочь тебе. Добавьте его в / etc / ssh / sshd_config. В документе говорится:
PrintMotd Specifies whether sshd(8) should print /etc/motd when a user logs in interactively. (On some systems it is also printed by the shell, /etc/profile, or equivalent.) The default is “yes”.
Вы можете создать группу и добавить в нее соответствующих пользователей:
groupadd nobanner
usermod -a -G nobanner username
Затем вы можете отредактировать / etc / ssh / sshd_config и добавить следующее:
Match Group nobanner
banner "none"
Затем перезапустите sshd и проверьте его.
Match Introduces a conditional block. If all of the criteria on the Match
line are satisfied, the keywords on the following lines override those
set in the global section of the config file, until either another Match
line or the end of the file.
The arguments to Match are one or more criteria-pattern pairs. The
available criteria are User, Group, Host, and Address. The match
patterns may consist of single entries or comma-separated lists and may
use the wildcard and negation operators described in the PATTERNS
section of ssh_config(5).
Сообщение дня должно не отображаться в неинтерактивных сеансах. Например, когда вы бежите ssh 192.19.23.45 ls
, который не интерактивно запускает команды, и сообщение дня ("motd") не должно отображаться.
То же самое относится к любым сценариям Bash или Perl (или любым другим), которые используют ssh
. Скрипты всегда будут выполнять задачи в неинтерактивном режиме, и сообщение дня не должно отображаться.
Если вы обнаружите обратное в своей системе, это будет некоторая неправильная конфигурация, которую мы можем попытаться отладить, но это не поведение по умолчанию.
Так что если вас больше всего беспокоят сценарии, то вам не о чем беспокоиться. Если вы не хотите, чтобы сообщение дня отображалось для пользователей, которые входят в систему удаленно с помощью ssh
, это другое дело, и существующие ответы могут помочь. (Но я считаю этот запрос немного странным: я не понимаю, почему вы не хотели бы показывать сообщение пользователям (не являющимся скриптами) в их интерактивных удаленных сеансах.)