Как отключить приветственное сообщение после входа в SSH?

32

Я изменился /etc/issue.net, поэтому я установил «личное» сообщение после ввода имени пользователя в терминале SSH. Теперь я пытаюсь изменить текст приветствия после успешного входа в систему.

Я нашел много сообщений о /etc/motdфайле, но часть "Добро пожаловать в Ubuntu Blabla номер версии и т. Д." + "* URL документации" не существует?

Я просто не хочу показывать информацию об ОС в моем терминале SSH, я уже знаю, что я установил. :) Я только хочу увидеть мой последний логин. И тоже не ошибки; ошибки принадлежат лог-файлу.

Какой файл мне нужно отредактировать?

Terradon
источник

Ответы:

46

Приветственные сообщения генерируются файлами, находящимися в /etc/update-motd.d/.

От man update-motd:

Исполняемые сценарии в /etc/update-motd.d/* выполняются pam_motd (8) как пользователь root при каждом входе в систему, и эта информация объединяется в / var / run / motd.

Поэтому, если вы не хотите sshвыводить эти скрипты при входе в систему, просто удалите на них флаг выполнения:

sudo chmod -x /etc/update-motd.d/*

Теперь, если вы хотите показать что-то, что вы хотите при входе в систему, у вас есть два варианта:

  • Создайте сценарий, вставьте его /etc/update-motd.d/, сделайте его исполняемым, а также убедитесь, что он выводит данные на STDOUT.

  • sshесть Bannerвариант. Вы можете поместить текст в файл и установить его в Bannerопции, чтобы содержимое файла отображалось при входе через ssh. Обратите внимание, что это применимо только к ssh.

    Banner /etc/foobar
    

    От man 5 sshd_config:

     Banner  The contents of the specified file are sent to the remote user
             before authentication is allowed.  If the argument is “none” then
             no banner is displayed.  This option is only available for
             protocol version 2.  By default, no banner is displayed.
    
heemayl
источник
8
Все мои любимые ответы начинаются с "From man xyz";)
AB
Спасибо! Теперь я знаю отношения между этими файлами. Я не chmod их, просто добавил # перед некоторыми строками я не хочу показывать.
Террадон,
@Terradon Да, это тоже подойдет ... я просто обобщил решение, потому что многим не понравится много заглядывать в файл ...
Heemayl
2
Отличное чистое решение, потому chmodingчто файлы означают, что мне не нужно их редактировать. Ницца!
Culix
... почему они вкладывают столько дерьма в motd и тратят время на его отключение: s Отличное решение с помощью chmod -x!
Моцель
4

Вы также можете использовать ядерное оружие pam_motd:

sed -i '/^[^#]*\<pam_motd.so\>/s/^/#/' /etc/pam.d/sshd

Звонки PAM в pam_motdзависимости от настроек в /etc/pam.d, и, как правило, записи:

$ grep pam_motd /etc/pam.d -R
/etc/pam.d/login:session    optional   pam_motd.so  motd=/run/motd.dynamic noupdate
/etc/pam.d/login:session    optional   pam_motd.so
/etc/pam.d/sshd:session    optional     pam_motd.so  motd=/run/motd.dynamic noupdate
/etc/pam.d/sshd:session    optional     pam_motd.so # [1]

Просто комментирование pam_motdстрок из этих файлов отключит его.

Мур
источник
Спасибо за ваше время, но с "Nuke их всех" я не знаю, что я делаю. (Я новичок в Linux / Ubuntu).
Террадон
1
@ Террадон, ты говоришь PAM не звонить pam_motd.so, вот и все.
Муру
Спасибо, я поближе посмотрю на то, что PAM.does точно.
Террадон
3

Другой способ, который не требует административных прав, - это разместить пустой файл с именем

.hushlogin

в ваш каталог $ HOME (используя, например touch ~/.hushlogin).

Источник, который предоставляет дополнительную информацию, включая возможные недостатки этого подхода : https://debian-administration.org/article/546/Giving_yourself_a_quieter_SSH_login

Эф
источник
Элегантно, просто, не связывается с другими пользователями, нет sudo. Спасибо.
Ян Верховен