{"id":6844,"date":"2020-07-06T16:21:22","date_gmt":"2020-07-06T14:21:22","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=6844"},"modified":"2020-07-06T16:21:24","modified_gmt":"2020-07-06T14:21:24","slug":"statusinfos-beim-ssh-login-vom-raspberry-pi-anzeigen-via-motd","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/statusinfos-beim-ssh-login-vom-raspberry-pi-anzeigen-via-motd\/","title":{"rendered":"Statusinfos beim SSH-Login vom Raspberry PI anzeigen via MOTD"},"content":{"rendered":"<p>Die sogenannte <strong>Message Of The Day<\/strong> (kurz <strong>MOTD<\/strong>) ist eine Textnachricht, die beim Login per SSH angezeigt wird. Sie eignet sich ideal dazu, um relevante Informationen \u00fcber das System anzuzeigen. Dies kann beim RPI etwa die Hardware-Version sein. Oder Systeminformationen wie Temperatur\/Signalst\u00e4rke.<\/p>\n<p>Standardm\u00e4\u00dfig zeigt Raspbian neben dem Lizenzhinweis nur die Kernel-Version sowie den letzten Login an. Bei Verwendung des Standard-Passwortes wird ein zus\u00e4tzlicher Sicherheitshinweis eingeblendet. Da es sich bei Raspbian um eine Linux-Distribution handelt, ist es kein Problem, dies nach den eigenen W\u00fcnschen und Vorstellungen anzupassen.<\/p>\n<h2 class=\"wp-block-heading\">Standard-Lizenztext entfernen<\/h2>\n<p>Der erw\u00e4hnte Lizenztext mitsamt Haftungsausschluss beansprucht einiges an Platz. Ich w\u00fcrde diesen daher zun\u00e4chst leeren, um diesen Platz selbst sinnvoller nutzen zu k\u00f6nnen:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">sudo -i\necho &gt; \/etc\/motd<\/code><\/pre>\n<p>Statischen Text k\u00f6nnten wir auch direkt dort hinterlegen. In meinem Falle soll jedoch alles dynamisch generiert werden. So l\u00e4sst sich das ganze sp\u00e4ter auch gut per Ansible automatisieren. Daher gen\u00fcgt es an dieser Stelle, die Datei <strong>\/etc\/motd<\/strong> zu leeren. <\/p>\n<h2 class=\"wp-block-heading\">Dynamische Informationen als MOTD beim SSH-Login<\/h2>\n<p>Zur dynamischen Generierung existiert der Ordner <strong>\/etc\/update-motd.d\/.<\/strong> Dort lassen sich beliebige Shellskripte ablegen. Der Dateiname bestimmt die Ausf\u00fchrungsreihenfolge. Auf einer Raspbian-Installation befindet sich dort nur ein Skript namens <strong>10-uname. <\/strong>Es gibt die Kernel-Version aus. Je nachdem, ob unsere eigenes Skript in der Ausgabe davor oder danach angezeigt werden soll, muss der Name also z.B. mit 09 oder 11 beginnen. Ich m\u00f6chte es davor platzieren und erstelle daher die Datei <strong>10-custom<\/strong>.<\/p>\n<p>F\u00fcr die Ausgabe auf dem Bild habe ich folgendes Skript erstellt:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">#!\/bin\/bash\nfiglet $(hostname)\necho &quot;&quot;\n\necho &quot;$(cat \/proc\/device-tree\/model)&quot;\necho &quot;&quot;\n\nuptime | awk &#039;{$1=$1;print}&#039;\n\ncpu=$(cat \/sys\/class\/thermal\/thermal_zone0\/temp)\necho -e &quot;GPU: $(\/opt\/vc\/bin\/vcgencmd measure_temp)\\t\\t CPU: $((cpu\/1000)) C&quot;\n\nwlanQuality=$(iwconfig wlan0 | grep &quot;Link Quality&quot; | awk &#039;{$1=$1;print}&#039; | cut -d&#039;=&#039; -f 2 | cut -d&#039; &#039; -f 1)\nwlanRate=$(iwconfig wlan0 | grep &quot;Bit Rate&quot; | awk &#039;{$1=$1;print}&#039; | cut -d&#039;=&#039; -f 2 | cut -d&#039; &#039; -f 1-2)\necho -e &quot;WLAN quality: $wlanQuality \\t\\t Rate: $wlanRate&quot;<\/code><\/pre>\n<p>Es zeigt in der Reihenfolge von oben nach unten folgende Informationen an:<\/p>\n<ul class=\"wp-block-list\">\n<li>Den aktuellen Hostname als ASCII-Art. Hierf\u00fcr muss man <strong>figlet<\/strong> mit apt-get installieren.<\/li>\n<li>Das Modell mit Hardwarerevision &#8211; besonders n\u00fctzlich, wenn man \u00e4ltere und neue PIs betreibt<\/li>\n<li>Die Uptime mit Loadanzeige und der Anzahl eingeloggter Benutzer<\/li>\n<li>Temperatur vom Prozessor und der GPU<\/li>\n<li>Signalst\u00e4rke der WLAN-Verbindung sowie ausgehandelte Daten\u00fcbertragungsrate (macht im Falle eines LAN-Betriebes nat\u00fcrlich wenig Sinn)<\/li>\n<\/ul>\n<p>Wie bereits zuvor erw\u00e4hnt, ist dies nur ein Beispiel. Man kann beliebige Shell-Befehle ausf\u00fchren und somit nahezu alle Informationen anzeigen. Man sollte aber darauf achten, dass die Ausf\u00fchrungszeit nicht zu hoch wird &#8211; sonst f\u00fchrt dies zu langsamen SSH-Logins. Ressourcenabfragen wie im obigen Beispiel sind unproblematisch. Sie verursachen eine Verz\u00f6gerung von weniger als 100 Millisekunden und sind damit nicht sp\u00fcrbar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die sogenannte Message Of The Day (kurz MOTD) ist eine Textnachricht, die beim Login per SSH angezeigt wird. Sie eignet sich ideal dazu, um relevante Informationen \u00fcber das System anzuzeigen. Dies kann beim RPI etwa die Hardware-Version sein. Oder Systeminformationen wie Temperatur\/Signalst\u00e4rke. Standardm\u00e4\u00dfig zeigt Raspbian neben dem Lizenzhinweis nur die Kernel-Version sowie den letzten Login &#8230;<\/p>\n","protected":false},"author":5,"featured_media":6845,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[671],"tags":[639,815,781],"class_list":["post-6844","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi","tag-raspberry-pi","tag-raspbian","tag-ssh"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=6844"}],"version-history":[{"count":4,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6844\/revisions"}],"predecessor-version":[{"id":6849,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6844\/revisions\/6849"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/6845"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=6844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=6844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=6844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}