viernes, 30 de diciembre de 2016

Cambiar mensaje de bienvenida en SSH


Cuándo nos conectamos a un equipo Debian o cualquier Linux en general por SSH o accedemos por TTY a nuestro equipo, nos aparece un banner o mensaje de bienvenida en Debian o en la distribución que estéis usando.

Cuando solo tenemos uno o dos ordenadores es fácil recordar a que ordenador no hemos conectado, ya que el error de equivocación es muy pequeño, pero cuando se administra decenas de ordenadores es muy fácil equivocarnos de pc y conectarnos a otro por error, pues bien con esto lo que vamos a evitar es esto precisamente, vamos a generar un banner grande para cuando nos logeemos sepamos que estamos conectado en el ordenador que necesitamos.

Dicho mensaje o banner lo podemos encontramos en la pantalla de login o una vez que hemos logeados. 

Pantalla de login por defecto (esperando a poner la contraseña)
 

Pantalla de bienvenida por defecto, una vez dentro del sistema



Podemos modificarlo para que muestren el texto o el banner que nos interese a nosotros..
Podemos configurar tres mensajes distintos, uno para el acceso local (login), otro para el remoto (login) y el ultimo para el mensaje de bienvenida.

Los archivos que contienen los mensajes son los siguientes.

/etc/issue -> Mensaje de login para acceso local al equipo (Acceso por TTY)
/etc/issue.net -> Mensaje de login para acceso por red (Acceso por SSH)
/etc/motd -> Mensaje para después del login.

Para cambiar el mensaje tan solo tenemos que ser usuario administrador (root) y editar el archivo que necesitemos con el texto que necesitemos.
yo voy a usar un banner grande y para ello voy a usar la aplicación figlet, esta aplicación generara un banner en código ascii con el texto que le digamos.
 



Instalar figlet

Como siempre hacemos en este blog y con la ayuda del programa synaptic, seleccionamos el paquete figlet y lo instalamos.

apt-get install figlet 





Cambiar mensaje de bienvenida una vez logeado
Una vez instalado vamos a generar el banner en el fichero de configuración /etc/motd.

Recordemos que este fichero solo lo puede editar un usuario administrador, en este caso es root.
Para ello usamos el comando: su 




lo siguiente que vamos hacer es realizar una copia del fichero motd, por si quisiéramos volver al fichero original, para ello usamos el siguiente comando:

cp /etc/motd /etc/motd-original



Ahora usamos el programa figlet para generar el banner que deseamos usar, para ello la estructura es la siguiente:
Usamos el nombre del programa (figlet) seguido del texto del banner (usuariodebian.com)  y le decimos que lo guarde en el fichero motd ( > /etc/motd

figlet usuariodebian.com > /etc/motd 



A partir de ahora cada vez que no conectemos a esta maquina nos aparecerá dicho banner que hemos generado.




 

Poner un mensaje Pre-Login
Ahora vamos a generar el banner en el fichero de configuración /etc/issue.net.
Recordemos que este fichero solo lo puede editar un usuario administrador, en este caso es root.
Para ello usamos el comando: su 


lo siguiente que vamos hacer es realizar una copia del fichero issue.net, por si quisiéramos volver al fichero original, para ello usamos el siguiente comando:
cp /etc/issue.net /etc/issue.net-original


Ahora usamos el programa figlet para generar el banner que deseamos usar, para ello la estructura es la siguiente:
Usamos el nombre del programa (figlet) seguido del texto del banner (usuariodebian.com)  y le decimos que lo guarde en el fichero motd ( > /etc/issue.net

figlet usuariodebian.com > /etc/issue.net



 El siguiente paso es configurar SSH para que nos muestre el mensaje que hemos creado.


Configurar SSH para que muestre el mensaje de Pre-Login
Ahora tenemos que configurar SSH para que nos muestre el mensaje de Pre-Login. 
El servidor SSH nos puede mostrar un mensaje informativo, de denegación de login, etc.
El fichero de configuración de ssh para que muestre el mensaje es sshd_config que se encuentra en: /etc/ssh/ 
vamos a editarlo con el siguiente comando:

nano /etc/ssh/sshd_config 




En este fichero de configuración sshd_config controla que se muestre o no se muestre el mensaje que tengamos puesto en el fichero /etc/issue.net.

Por defecto esta configurado para no mostrar dicho mensaje. Recordemos que en programación el símbolo de la almohadilla (#) se usa para convertir una orden, en un simple comentario de texto, anulando de esta forma la orden que tendría que realizar.

la variable que buscamos en este fichero es: #Banner /etc/issue.net



Por tanto si queremos que muestre el mensaje, eliminaremos la almohadilla.

Quedando  dicha linea asín:

Banner /etc/issue.net

 

Reiniciar el servidor SSH
Después de realizar todos los cambios no podemos olvidar reiniciar el servidor ssh,para que los cambios realizados surtan efectos. 
Para ello usamos cualquiera de los siguientes comandos:

service ssh restart




 systemctl restart ssh




Con esto ya esta todo la configuración realizada.


Imágenes demostrativas

A partir de ahora cuando queramos conectar por ssh nos mostrará el mensajede Pre-Login y el de Bienvenida



Mensaje de Pre-Login, en este caso indica que es el servidor usuariodebian.com


Mensaje de bienvenida, en este caso indica que es el servidor usuariodebian.com



Mensaje de Pre-Login, que suelo usar


El mensaje que suelo usar es este:

###############################################################
#                            Warning, only authorized access is allowed.                          #
#                                 Actions are monitored and recorded.                               #
#                                                                                                                          #
#                           Aviso, solo se permite acceso a autorizados.                         #
#                          Sus acciones son monitorizadas y registradas.                       #
###############################################################