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

SSH'ing с принудительным распределением псевдо-tty не печатает мой MOTD

я знаю это -t вариант в ssh выделить псевдо-tty. я использую -t для "перехода" в другой каталог при входе в систему, примерно так: ssh -t my-server "cd /path/to/my/directory; bash --login".

Зачем, если я вхожу без него (обычно) /etc/motd напечатан и с -t это не? я знаю что могу cat /etc/motd перед cd но интересно, есть ли более чистое решение и ПОЧЕМУ вообще такое происходит.

ps: Как вы понимаете, я хочу, чтобы MOTD отображался при входе в систему, даже если я использую -t.

MOTD, как правило, отображается loginне bash, так что если ты не бежишь login вы не получаете MOTD. sshd наверное даже не использую login, но печатает motd в зависимости от установки нескольких его флагов. (как заметил Jakuje) Способ подключения через sshd не вызывает поведения motd.

Я подозреваю, что попытка заставить все работать так, как вы хотите, приведет к изменению файла вашего профиля для выполнения MOTD, когда bash запускается sshd. Я полагаю, вы можете проверить, есть ли $tty определено, но, вероятно, все еще будут игры, которые не позволят вам получить два MOTD при реальном входе в систему.

Это действительно кажется большим усилием без особой выгоды.

Или, если хотите

ssh -t my-server "cd /path/to/my/directory; cat /etc/motd; bash --login"