Zmodyfikuj wiadomość powitalną SSH, aby uwzględnić adres IP systemu

43

Miałem kilka okazji, gdy nie byłem w stanie zapamiętać adresu IP dla danego systemu, ale wtedy byłem w stanie połączyć się przy użyciu nazwy hosta. Jako przykład, właśnie teraz chciałem skonfigurować przekierowanie portów na moim routerze i nie pamiętałem adresu IP systemu docelowego.

Zastanawiam się, czy można dodać adres IP systemu do wiadomości powitalnej wyświetlanej w połączeniu SSH.

Domyślna wiadomość powitalna, którą próbuję zmodyfikować, w przypadku gdy ten termin jest niejednoznaczny, to „

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/

Gdzieś tam myślę, że chciałbym dodać adres IP systemu, do którego właśnie się zalogowałem. Jakieś sugestie? Poza wymianą w moim mózgu na nowszy model z większą pamięcią RAM?

miststlkr
źródło

Odpowiedzi:

60

Wiadomość, do której się odwołujesz, to „motd” lub „Wiadomość dnia”. Jest zawarty w /etc/motd.

Jest to generowane przez update-motd, którego dokumentacja znajduje się tutaj: https://wiki.ubuntu.com/UpdateMotd#Design

Zobacz podobne pytanie: Jak edytować ssh motd?

Aby bezpośrednio odpowiedzieć na twoje pytanie, możesz dodać plik /etc/update-motd.d/50-ip-addresso tej treści:

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

To bardzo prosto doda wszystkie skonfigurowane adresy internetowe w twoim systemie do pliku motd.

Motd jest aktualizowany „przy każdym logowaniu” (zgodnie z man update-motd). Możesz grać z tym numerem jako pierwszą częścią nazwy skryptu, aby zdecydować o kolejności wyświetlania adresu IP.

Ponieważ pliki /etc/update-motd.dsą po prostu skryptami powłoki, możesz napisać coś tak prostego lub tak skomplikowanego, jak chcesz.

roadmr
źródło
Nie pozwoli mi jeszcze głosować, ale twoja odpowiedź wygląda tak, jak powinna. Wypróbuję to jutro. Twoje zdrowie!
miststlkr
1
Przetestowane i potwierdzone. Znakomity! To dało o wiele więcej informacji, niż potrzebuję, ale, jak powiedziałeś, jest to skrypt bashowy, więc będę miał wiele do majsterkowania, aby dostać go dokładnie tam, gdzie chcę. To w końcu połowa zabawy z uruchomieniem Linuksa!
miststlkr
2
Aby sprawdzić, jak to będzie wyglądać bez ponownego logowania, uruchom sudo run-parts /etc/update-motd.d/. Chociaż zmiany są widoczne przy następnym logowaniu, musi upłynąć około 10 minut od ostatniej edycji. Lub spróbuj zalogować się kilka razy, dopóki go nie zobaczysz.
ADTC
Nie ma takiego pliku w 18.04 bionic
Jubei
17

Może to być więcej niż potrzebujesz / potrzebujesz, ale landscape-commonpakiet automatycznie dodaje informacje o systemie, w tym adresy IP do 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

Konkretnie, to dodaje do dowiązania /usr/share/landscape/landscape-sysinfo.wrapperw /etc/update-motd.d/katalogu.

amc
źródło
Wielkie dzięki za tę odpowiedź. Szukam informacji od wieków.
Gabor Garami
1
Jak mogę update-motdcałkowicie wyłączyć ?
Sean Letendre