Назад | Перейти на главную страницу

Пользовательский motd для конкретного пользователя после входа в систему через SSH?

Я хочу запустить сценарий при первоначальном входе в систему через 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"