El servidor ssh muestra un mensaje después de iniciar sesión correctamente

El servidor ssh muestra un mensaje después de iniciar sesión correctamente

Tengo una pregunta sobre el servidor Debian ssh. Quiero mostrar un mensaje después de iniciar sesión correctamente. He usado motd, pero localhost lo mostrará. No quiero que la máquina local lo muestre. Solo quiero mostrarlo después de que un usuario específico inicie sesión exitosamente en ssh.

Respuesta1

Para mostrar un mensaje después de que un usuario específico inicie sesión exitosamente en SSH, hay algunos pasos que puede seguir:

Cree un archivo que contenga el mensaje que desea mostrar después de que el usuario inicie sesión. Por ejemplo, puede crear un archivo llamado "ssh_message" y agregar el mensaje que desee en el archivo.

Modifique el archivo de configuración SSH (/etc/ssh/sshd_config) y agregue la siguiente línea al final del archivo:

ForceCommand echo "YOUR MESSAGE HERE"

Guarde el archivo y reinicie el demonio SSH usando el siguiente comando:

sudo systemctl restart sshd

Después de seguir estos pasos, el mensaje se mostrará después de que el usuario específico inicie sesión en SSH. Este enfoque omitirá la función "Mensaje del día" (motd) y mostrará su mensaje directamente al usuario.

Vale la pena señalar que modificar el archivo de configuración SSH puede causar problemas de seguridad si se hace incorrectamente. Como tal, recomiendo probar los cambios primero en un entorno que no sea de producción y asegurarse de que los cambios estén en línea con las políticas de seguridad de su organización.

Respuesta2

Creo que la modificación de la configuración sshd puede aplicarse a todos los usuarios, no necesariamente a un solo usuario.

Otro enfoque sería utilizar SSHLog:https://github.com/sshlog/agent/

Puede configurarlo para observar los inicios de sesión exitosos de uno o más usuarios (por ejemplo, jdoe) y luego ejecutar el comando "escribir" al iniciar sesión exitosamente en el TTY de ese usuario. Por ejemplo, aquí hay una configuración que probé y hace lo que quieres:

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}}"]

Luego, cuando inicie sesión, su MOTD se verá así:

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

información relacionada