Я хочу запустить сценарий при первоначальном входе в систему через SSH, который отображает некоторую полезную информацию для пользователя, входящего в систему. Однако я не хочу, чтобы этот сценарий запускался на каждый авторизоваться. То есть, если пользователь запускает screen
после входа в систему пользовательский "motd" не должен запускаться снова (и если не будут созданы последующие экраны). Особо следует отметить, что для правильной работы скрипту потребуется конечный пользовательский ENV. Это возможно? Если да, то как мне это сделать?
PrintMotd
директива не допускается в пределах Match
блок. Если все, что вам нужно, это отображать некоторую полезную информацию для определенного пользователя при входе в систему, Banner
директива может сделать это:
Match User <special_user>
Banner /etc/ssh/banner.txt
Как указано в этом ALE поток, можно использовать пользовательский ${HOME}/.ssh/rc
файл для этой цели. В справочная страницав разделе SSHRC прямо указано, что вы не должна напишите в stdout через этот rc файл, но следующий скрипт будет работать:
#!/bin/bash
if [ ! -t 1 ]; then
# This is scp, sftp, a port forward, or something else
exit
fi
# Use stderr like the manpage tells you to do
exec 1>&2
echo -e "This is output to stdout via the ${HOME}/.ssh/rc file.\n"