Измените приветственное сообщение SSH, включив в него системный IP-адрес

43

У меня была пара случаев, когда я не мог вспомнить IP-адрес для данной системы, но в то время я мог подключиться, используя имя хоста. В качестве примера, сейчас я хотел настроить переадресацию портов на моем маршрутизаторе и не мог вспомнить IP-адрес целевой системы.

Мне интересно, возможно ли добавить системный IP-адрес к приветственному сообщению, которое отображается при соединении SSH.

Приветственное сообщение по умолчанию, которое я пытаюсь изменить, в случае неоднозначности этого термина: "

Linux [hostname] 2.6.35-32-generic #64-Ubuntu SMP Tue Jan 3 00:47:07 UTC 2012 x86_64 GNU/Linux

Ubuntu 10.10

Welcome to Ubuntu!
    * Documentation:  https://help.ubuntu.com/

Я думаю, что где-то там я хотел бы добавить IP-адрес системы, в которую я только что вошел. Какие-либо предложения? Кроме торговли в моем мозгу на более новую модель с большим количеством оперативной памяти?

miststlkr
источник

Ответы:

60

Сообщение, на которое вы ссылаетесь, это «motd» или «Сообщение дня». Содержится в /etc/motd.

Это генерируется update-motd, документация для которого находится здесь: https://wiki.ubuntu.com/UpdateMotd#Design

Посмотрите этот связанный вопрос: Как мне отредактировать ssh motd?

Чтобы напрямую ответить на ваш вопрос, вы можете добавить файл /etc/update-motd.d/50-ip-addressс таким содержимым:

#!/bin/bash
ifconfig |grep "inet addr"

Это очень просто добавит все настроенные интернет-адреса вашей системы в файл motd.

Motd обновляется "при каждом входе в систему" (согласно man update-motd). Вы можете поиграть с номером в качестве первой части имени скрипта, чтобы определить порядок, в котором будет отображаться IP-адрес.

Поскольку файлы /etc/update-motd.dявляются просто сценариями оболочки, вы можете написать что-то настолько простое или сложное, сколько захотите.

roadmr
источник
Это не позволит мне голосовать за вас, но ваш ответ выглядит так, как будто он должен сделать то, на что я надеялся. Я попробую это завтра. Ура!
miststlkr
1
Проверено и подтверждено. Brilliant! Это дало гораздо больше информации, чем мне нужно, но, как вы сказали, это bash-скрипт, так что мне придется с этим повозиться, чтобы получить именно то, что мне нужно. Это ведь половина удовольствия от запуска linux!
miststlkr
2
Чтобы проверить, как это будет выглядеть без повторного входа, запустите sudo run-parts /etc/update-motd.d/. Хотя, чтобы увидеть изменения при следующем входе в систему, должно пройти около 10 минут после вашего последнего редактирования. Или попробуйте войти пару раз, пока не увидите это.
ADTC
Там нет такого файла в 18.04 Bionic
Jubei
17

Это может быть больше, чем вы хотите / нужно, но landscape-commonпакет автоматически добавляет системную информацию, включая IP-адреса, в MOTD.

Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-28-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Tue Jul 12 10:21:51 MDT 2016

  System load:  0.09                Users logged in:        1
  Usage of /:   12.3% of 225.17GB   IP address for enp7s0:  192.168.X.XXX
  Memory usage: 45%                 IP address for wlp9s1:  192.168.X.XXX
  Swap usage:   0%                  IP address for docker0: 172.17.0.1
  Processes:    397

  Graph this data and manage this system at:
    https://landscape.canonical.com/

0 packages can be updated.
0 updates are security updates.

Last login: Tue Jul 12 10:03:16 2016 from 192.168.X.XXX

В частности, он добавляет символическую ссылку /usr/share/landscape/landscape-sysinfo.wrapperв /etc/update-motd.d/каталог.

AMC
источник
Большое спасибо за этот ответ. Я искал эту информацию целую вечность.
Габор Гарами
1
Как я могу update-motdполностью отключить ?
Шон Летендре