SSH-сервер показывает сообщение после успешного входа в систему

SSH-сервер показывает сообщение после успешного входа в систему

У меня есть один вопрос по серверу Debian SSH, я хочу отобразить сообщение после успешного входа. Я использовал motd, но localhost его отобразит. Я не хочу, чтобы локальная машина его отображала. Я хочу отобразить его только после того, как определенный пользователь успешно войдет в SSH.

решение1

Чтобы отобразить сообщение после успешного входа определенного пользователя в SSH, выполните несколько шагов:

Создайте файл, содержащий сообщение, которое вы хотите отобразить после входа пользователя в систему. Например, вы можете создать файл с именем «ssh_message» и добавить в него желаемое сообщение.

Измените файл конфигурации SSH (/etc/ssh/sshd_config) и добавьте следующую строку в конец файла:

ForceCommand echo "YOUR MESSAGE HERE"

Сохраните файл и перезапустите демон SSH с помощью следующей команды:

sudo systemctl restart sshd

После выполнения этих шагов сообщение будет отображаться после того, как определенный пользователь войдет в SSH. Такой подход обойдет функцию «Сообщение дня» (motd) и отобразит ваше сообщение непосредственно пользователю.

Стоит отметить, что изменение файла конфигурации SSH может потенциально вызвать проблемы безопасности, если сделано неправильно. Поэтому я рекомендую сначала протестировать изменения в непроизводственной среде и убедиться, что изменения соответствуют политикам безопасности вашей организации.

решение2

Я думаю, что изменение конфигурации sshd может применяться ко всем пользователям, а не обязательно только к одному пользователю.

Другой подход — использовать SSHLog:https://github.com/sshlog/agent/

Вы можете настроить его для отслеживания успешных входов для одного или нескольких пользователей (например, jdoe), а затем выполнить команду "write" при успешном входе в TTY этого пользователя. Например, вот конфигурация, которую я протестировал и которая делает то, что вам нужно:

events:
  - event: jdoe_logs_in
    triggers: [ 'connection_established']
    filters:
      username: 'jdoe' 
      require_tty: True
    actions:
      - action: message_about_lunch_money
        plugin: run_command_action
        command: bash 
        args: ["-c", "echo 'Hello {{username}} do not forget that $4.75 you owe me for lunch!' | write {{username}} /dev/pts/{{tty_id}}"]

Тогда, когда он войдет в систему, его MOTD будет выглядеть так:

Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-67-generic x86_64)
...
40 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm

*** System restart required ***

Last login: Tue Apr 18 11:41:16 2023 from 127.0.0.1

Message from root@server on pts/20 at 11:48 ...
Hello jdoe do not forget that $4.75 you owe me for lunch!
EOF

Связанный контент