
У меня есть один вопрос по серверу 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