Serwer, którym administruję, niewygodnie, ma dynamiczny adres IP przypisany przez DHCP. Jednak wygodną przeciwwagą jest to, że zdarza się, że jest ustawiona około dwóch stóp od miejsca, w którym siedzę. Wiem, jak edytować / etc / issue, aby pokazać różne wartości przed wyświetleniem monitu logowania, ale chciałbym wiedzieć, czy jest możliwe, aby / etc / issue wyświetlał bieżący adres IP eth0 (ponownie ocenione w czasie uruchamiania), dzięki czemu mogę to zobaczyć, a następnie ssh się bez konieczności logowania, aby uruchomić ifconfig.
23
Odpowiedzi:
Od wersji Debian 8 / jessie możesz używać znaków
\4
i\6
znaków ucieczki do wyświetlania adresów IPv4 i IPv6. Więc w/etc/issue
pliku:W konsoli logowania wyświetliłby się coś takiego:
Wydaje mi się, że Ubuntu zapewni podobną funkcjonalność (przynajmniej w nowszych wersjach)
źródło
/etc/issue
jest niestety zwykłym tekstem, ma kilka opcji, które możesz do niego dodać (patrzman agetty
), ale nie ma adresu IP eth0.Jeśli wstawisz to
/etc/rc.local
:Wtedy zobaczysz coś takiego:
źródło
Opierając się na odpowiedzi Alexa i komentarzu Rebsa, oto, co mam do mojego
/etc/rc.local
pliku (tylko odpowiednie linie):printf
Komenda robi magię. Niestety wstawienie'\n'
i'\l'
wewnątrz łańcucha formatu zakończyło się zastąpieniem pierwszego znakiem nowej linii i/etc/issue
plik został zawalony.Krótko mówiąc, te 4 wiersze utrzymują oryginalne informacje wyświetlane w
/etc/issue
pliku i dodająServer IP Address:
wiadomość.I jak powiedział Rebs, pamiętaj, że za każdym razem, gdy restartujesz serwer, ten skrypt zastąpi
/etc/issue
plik, więc może wypróbuj go w innym skrypcie i na innym pliku, a gdy już zadziała , przenieś zmiany ...Powodzenia i szczęśliwego BASHING :)
źródło
Z systemd możesz zrobić
systemctl edit getty@
coś takiego:Następnie
systemctl daemon-reload && systemctl restart getty@tty1
źródło
W przypadku Ubuntu 19.04 wykonałem następujące kroki:
Utworzyłem plik:
/etc/network/if-up.d/update-issue
o następującej treści:Następnie oznaczyłem plik jako wykonywalny:
chmod 0755 /etc/network/if-up.d/update-issue
Działa świetnie!
źródło
Opierając się na odpowiedziach Nurchi, Alexa i Steve'a oraz komentarzu Reba,
Poniższe polecenie zastąpi stary adres IP i doda wszelkie nielokalne (127.) adresy IP. Mój serwer jest maszyną wirtualną i nie ma eth0. Testowanie na Ubuntu 18.04
Umieścić w
/etc/network/if-up.d/update-issue
Następnie
chmod 0755 /etc/network/if-up.d/update-issue
Jedyną różnicą między moją odpowiedzią a odpowiedzią Steve'a jest dodanie linii grep w celu usunięcia linii IP, przechwycenia wiadomości i przeczytania jej wraz z nowym / zaktualizowanym adresem IP
źródło