MOTD is updated very rarely

Solution 1:

I have recently run into the same problem. You will need to edit /etc/pam.d/sshd to remove or comment out the noupdate there as well.

Solution 2:

update-motd is a simple script that runs:

   run-parts --lsbsysinit /etc/update-motd.d 2>/dev/null

according to run-parts manual:

   If  the  --lsbsysinit  option  is given, then the names must not end in
   .dpkg-old  or .dpkg-dist or .dpkg-new or .dpkg-tmp, and must belong  to
   one  or more of the following namespaces: the LANANA-assigned namespace
   (^[a-z0-9]+$);   the   LSB   hierarchical   and   reserved   namespaces
   (^_?([a-z0-9_.]+-)+[a-z0-9]+$);  and  the  Debian cron script namespace
   (^[a-zA-Z0-9_-]+$).

So, in order to verify if the problem is related to update-motd file name, try:

   run-parts --test --lsbsysinit /etc/update-motd.d

this command prints the names of the scripts which would be run, but don't actually run them.