SSH-Server zeigt Meldung nach erfolgreicher Anmeldung an

SSH-Server zeigt Meldung nach erfolgreicher Anmeldung an

Ich habe eine Frage zum Debian-SSH-Server. Ich möchte nach erfolgreicher Anmeldung eine Nachricht anzeigen. Ich habe motd verwendet, aber der lokale Host wird sie anzeigen. Ich möchte nicht, dass die lokale Maschine sie anzeigt. Ich möchte sie nur anzeigen, nachdem sich ein bestimmter Benutzer erfolgreich bei SSH angemeldet hat.

Antwort1

Um eine Nachricht anzuzeigen, nachdem sich ein bestimmter Benutzer erfolgreich bei SSH angemeldet hat, können Sie die folgenden Schritte ausführen:

Erstellen Sie eine Datei, die die Nachricht enthält, die nach der Anmeldung des Benutzers angezeigt werden soll. Sie können beispielsweise eine Datei mit dem Namen „ssh_message“ erstellen und die gewünschte Nachricht in die Datei einfügen.

Ändern Sie die SSH-Konfigurationsdatei (/etc/ssh/sshd_config) und fügen Sie am Ende der Datei die folgende Zeile hinzu:

ForceCommand echo "YOUR MESSAGE HERE"

Speichern Sie die Datei und starten Sie den SSH-Daemon mit dem folgenden Befehl neu:

sudo systemctl restart sshd

Nachdem Sie diese Schritte ausgeführt haben, wird die Nachricht angezeigt, nachdem sich der jeweilige Benutzer bei SSH angemeldet hat. Mit diesem Ansatz wird die Funktion „Nachricht des Tages“ (motd) umgangen und Ihre Nachricht wird dem Benutzer direkt angezeigt.

Beachten Sie, dass das Ändern der SSH-Konfigurationsdatei bei unsachgemäßer Ausführung möglicherweise Sicherheitsprobleme verursachen kann. Daher empfehle ich, die Änderungen zunächst in einer Nicht-Produktionsumgebung zu testen und sicherzustellen, dass die Änderungen den Sicherheitsrichtlinien Ihres Unternehmens entsprechen.

Antwort2

Ich denke, dass die Änderung der SSHD-Konfiguration möglicherweise für alle Benutzer gilt, nicht unbedingt nur für einen einzelnen Benutzer.

Ein anderer Ansatz wäre die Verwendung von SSHLog:https://github.com/sshlog/agent/

Sie können es so konfigurieren, dass es auf erfolgreiche Anmeldungen für einen oder mehrere Benutzer (z. B. jdoe) achtet und dann bei erfolgreicher Anmeldung am TTY dieses Benutzers den Befehl „write“ ausführt. Hier ist beispielsweise eine Konfiguration, die ich getestet habe und die das tut, was Sie wollen:

events:
  - event: jdoe_logs_in
    triggers: [ 'connection_established']
    filters:
      username: 'jdoe' 
      require_tty: True
    actions:
      - action: message_about_lunch_money
        plugin: run_command_action
        command: bash 
        args: ["-c", "echo 'Hello {{username}} do not forget that $4.75 you owe me for lunch!' | write {{username}} /dev/pts/{{tty_id}}"]

Wenn er sich dann anmeldet, sieht sein MOTD folgendermaßen aus:

Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-67-generic x86_64)
...
40 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm

*** System restart required ***

Last login: Tue Apr 18 11:41:16 2023 from 127.0.0.1

Message from root@server on pts/20 at 11:48 ...
Hello jdoe do not forget that $4.75 you owe me for lunch!
EOF

verwandte Informationen