Optimizar / Comprimir Imágenes Automáticamente en Linux

Varias herramientas Linux permiten la compresión semi-automatica de imágenes: OptiPNG, PNGQuant y JPEGOptim que dependiendo de la extensión y combinando con ImageMagick podemos realizar una compresión y optimización de todas las imágenes JPG y/o PNG sin perder calidad en las mismas también llamada compresión sin perdida o “lossless” y en el caso de PNG realizando un proceso estadistico de seleccion de paleta de colores.

Estas optimizaciones a las imágenes le permitiran mejorar sustancialmente la velocidad de un sitio web y pasar pruebas de velocidad como las de Google Page Speed.

1. Instalacion del repositorio EPEL para CentOS

– Instalación para la version CentOS 6.x

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
sudo rpm -Uvh epel-release-6*.rpm
– Instalación para la version CentOS 7.x

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh epel-release-latest-7*.rpm

2. Instalacion de los comandos OptiPNG, PNGQuant y JPEGOptim e ImageMagick

yum install pngquant
yum install jpegoptim
yum install optipng
yum install ImageMagick

3. Optimizar y Comprimir Imágenes

Realice una copia de seguridad de sus imágenes antes de ejecutar esta optimización dado que la misma reemplazara todas los archivos originales en la carpeta y subcarpetas donde sea ejecutada y a un tamaño maximo de 1920×1024. También elimina los datos Exif dentro de las imágenes JPG con la opción “strip-all”.

Buscamos y ejecutamos la optimización en todas las imágenes:

find . \( -iname ‘*.jpg’ -o -iname ‘*.jpeg’ -o -iname ‘*.png’ \) -exec convert -resize 1920×1024\> {} {} \;

find . \( -iname ‘*.jpg’ -o -iname ‘*.jpeg’ \) -exec jpegoptim –strip-all -m80 {} \;

find . -name ‘*.png’ -exec pngquant -v -f –quality=80-100 –ext .png {} \;
Solo de ser necesario cambiamos el

scowner=$(stat -c ‘%U’ .)

find . \( -iname ‘*.jpg’ -o -iname ‘*.jpeg’ -o -iname ‘*.png’ \) -exec chmod 644 {} \;

find . \( -iname ‘*.jpg’ -o -iname ‘*.jpeg’ -o -iname ‘*.png’ \) -exec chown $scowner.$scowner {} \;

Controlando la salud e integridad de nuestros discos con smartctl

Smartctl es una herramienta la cual nos permitirá realizar un testeo de nuestros Discos Rígidos, la cual nos brinda un detallado informe mediante el cual podremos verificar el funcionamiento o posibles errores que posean nuestras unidades… salvándonos de un buen dolorcito de cabeza.

Primero vamos a instalarlo:

# yum install smartmontools

 

Luego que se instala procederemos a hacer los testeos:
Listamos los discos/particiones solo con el fin de obtener los nombres de nuestras unidades

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             897G  380G  471G  45% /
/dev/sda5             2.0G  383M  1.5G  21% /tmp
/dev/sda1              99M   32M   62M  34% /boot
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/sdb1             917G  707G  164G  82% /hd2

Aqui vemos que nuestros 2 discos son /dev/sda y /dev/sdb, esos nombres utilizaremos como ejemplos

 

1) Detalle de la info de los discos:

# smartctl -i /dev/sda
smartctl 5.42 2011-10-20 r3458 [fusion_builder_container hundred_percent="yes" overflow="visible"][fusion_builder_row][fusion_builder_column type="1_1" background_position="left top" background_color="" border_size="" border_color="" border_style="solid" spacing="yes" background_image="" background_repeat="no-repeat" padding="" margin_top="0px" margin_bottom="0px" class="" id="" animation_type="" animation_speed="0.3" animation_direction="left" hide_on_mobile="no" center_content="no" min_height="none"][x86_64-linux-2.6.18-498.el5.lve0.8.80] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model:     MB1000EBNCF
Serial Number:    WCAW30756532
LU WWN Device Id: 5 0014ee 25ac27419
Firmware Version: HPG0
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 6
Local Time is:    Mon Apr  6 17:06:32 2015 ART
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

 

2) Un testeo solo informativo:

# smartctl -H /dev/sda
smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.18-498.el5.lve0.8.80] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Este resultado nos muestra que todo esta OK.

IMPORTANTE: Como se mostraría un error a tener muy en cuenta:

# smartctl -H /dev/sda
smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.18-498.el5.lve0.8.80] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
Failed Attributes:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate     0x002f   001   001   051    Pre-fail  Always   FAILING_NOW 330223

Increíblemente el detalle muestra que el disco puede tener un fallo en las próximas 24 hs, por lo que hay que realizar una inmedita copia del contenido.

 

3) Testeo a fondo, el cual detallará cualquier tipo de error o falla en los discos:

# smartctl -t long /dev/sda
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-504.1.3.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 121 minutes for test to complete.
Test will complete after Mon Apr  6 19:44:02 2015
Use smartctl -X to abort test.

 

4) Testeo rápido:

# smartctl -t short /dev/sda
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-504.1.3.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Mon Apr  6 17:48:38 2015

 

Como vemos aqui, los testeos “short y long” son offline y deberemos verificar el resultado con:

# smartctl -l selftest /dev/sda
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-504.1.3.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      9627         -

 

Una herramienta muy útil ante cualquier tipo de aviso o sospecha de daño. A tenerlo en cuenta![/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

Cambiar puerto SSH en Linux (CentOS, Debian, Ubuntu)

Debemos tener en cuenta que la gran mayoría de los servidores que ofrecen distintos servicios alrededor del mundo utilizan sistemas operativos Linux, y por lo tanto este tipo de servidores se están convirtiendo en un excelente blanco para muchos intrusos.
Es importante reforzar la seguridad de los servidores, ya que es la mejor forma de prevenir de forma pasiva ataques que puedan provocar accesos indeseados a nuestros sistemas y que puedan causar pérdidas de datos o robo de datos (aun peor).

Cambiar el puerto de SSH en Linux es muy fácil, de hecho, si usamos OpenSSH Server, el proceso de cambio de puerto para Debian, Ubuntu o CentOS es exactamente el mismo.

Lo primero que vamos a hacer es editar el archivo sshd_config utilizando el siguiente comando:

nano /etc/ssh/sshd_config

En caso de que no tengas instalado el editor NANO (Para mi el mejor editor de texto en línea de comandos para Linux) puedes instalarlo en CentOS usando el siguiente comando:

yum install nano

O en Ubuntu y Debian utilizando el siguiente comando:

apt-get install nano

Al editar el archivo sshd_config podremos ver algo parecido a esto:

cambiarpuertossh1

 

Debemos buscar la línea que ponga “#Port 22” y cambiar el 22 por el puerto que nosotros queramos configurar, como por ejemplo el 3625 y además eliminamos el #:

cambiarpuertossh2

 

Finalmente después de guardar los cambios realizados pulsando CONTROL + X, vamos a reiniciar el servicio SSH utilizando el siguiente comando en CentOS o Fedora:

/etc/init.d/sshd restart

En el caso de Ubuntu o Debian debemos utilizar el siguiente comando:

/etc/init.d/ssh restart

Después de hacer esto, la siguiente conexión ya debemos realizarla utilizando el puerto nuevo que hemos configurado en los archivos de configuración de OpenSSH.

¿Como actualizar manualmente cPanel y WHM?

cPanel / WHM se debería actualizar de forma automática, sin embargo, si usted quiere hacer esto manualmente, sólo tienes que seguir los siguientes pasos:

Ingrese a su servidor vía SHH como Root. Para esto puede usar Putty.
Escriba el comando /scripts/upcp –force
Debemos reiniciar cpanel escribiendo /etc/init.d/cpanel restart

Este proceso podrá tardar bastante y usted debe esperar a que finalice

¿Dónde están los registros de Exim?

Existen principalmente tres registros básicos para exim. Son:

  1. mail log ( Location : /var/log/exim_mainlog )
  2. reject log ( Location : /var/log/exim_rejectlog)
  3. panic log ( Location : /var/log/exim_paniclog )

Mail Log: Este es el principal archivo de registro de Exim que registra la llegada y entrega de todos los correos.

Reject Log: Este log contiene información con respecto a los correos que son rechazados por razones de política. Si un correo electrónico falla debido a alguna opción de configuración a continuación, se va a registrar en este archivo.

Panic log: Todos los errores graves se registran en este archivo. Mediante el control de este archivo podemos entender si hay problemas serios con exim.

Cambiar el nombre del host al servidor – CentOS

Por defecto, el servidor se inicia con el nombre de pila del servidor como el nombre de host. Algunos programas de software, tales como cPanel, requiere un nombre válido completo de dominio (FQDN) para el nombre de host que se utilizará durante su sistema de verificación de licencias. En este artículo se describe cómo cambiar un nombre de host del servidor de CentOS.

Cambiar un nombre de host del servidor

  1. Con un editor de texto, abra el archivo /etc/sysconfig/network.
  2. Modificar el HOSTNAME= valor para que coincida con el nombre de host FQDN.

# sudo nano /etc/sysconfig/network HOSTNAME=myserver.domain.com

3. Para la red interna, cambiar el host que está asociada con la dirección IP principal de su servidor, (que se encuentra en /etc/hosts).

hostname

4. Ejecute el comando HOSTNAME. Este comando le permite cambiar el nombre de host del servidor que recuerda la línea de comandos, pero no se actualiza activamente a todos los programas que se ejecutan bajo el antiguo nombre de host.

hostname1

5. Reinicie la red en su servidor para asegurar que los cambios persistirán en el reinicio.

# /etc/init.d/network restart

 

Cómo instalar cPanel

Para instalar cPanel necesitaremos acceso SSH como root a nuestro servidor y tener ya instalado CentOS 6.

Una vez accedamos por consola, utilizaremos screen para evitar cualquier fallo por desconexión del terminal:

screen

Acto seguido, cambiaremos al directorio /home y descargaremos el instalador:

cd /home
wget http://layer1.cpanel.net/latest

Por último, ejecutaremos la instalación:

sh latest

Con esto, ya podremos acceder a nuestra IP o hostname seguidos de /whm para comenzar la configuración.

Experts mode:

screen
cd /home
wget http://layer1.cpanel.net/latest
sh latest

Reiniciar servicios desde SSH

Una de las tareas más comunes a realizar en servidores es el reinicio de servicios. Esto puede deberse a que el servicio no está funcionando, la carga del servidor es muy alta o porque necesitamos reiniciarlo para que tome una nueva configuración.

Los servicios más comunes son: Apache, MySQL, correo, FTP y DNS.

Para interactuar con ellos, podemos hacerlo a través del argumento service:

service httpd start

o directamente con su archivo init.d en el servidor

/etc/init.d/httpd start

Ambas opciones se utilizan de la misma forma y devuelven el mismo resultado. Por lo que se reduce a una cuestión de preferencia elegir cual utilizar.

Igualmente, todos los servicios tienen unos argumentos comunes que comparten entre si ( stop | start | restart | status ) pero además existen comandos propios para cada servicio que nos ayudan a obtener más información sobre su desempeño y rendimiento. Como por ejemplo configtest de Apache. Que sirve para comprobar si la configuración actual puede dar problemas de inicio a Apache antes de reiniciarlo.

A continuación mostramos algunos de los servicios mas populares y sus ordenes de uso.

Apache

Una de las principales razones por las que tendremos que reiniciar Apache será aplicar los cambios que hayamos realizado a su configuración para optimizarla o adaptar sus valores.

La utilización y comandos de Apache son los siguientes:

/etc/init.d/httpd comando

Comandos disponibles y finalidad:

start – Iniciar Apache
startssl – Iniciar Apache con SSL habilitado
stop – Detener Apache
restart – Reiniciar Apache si ya está iniciado, o iniciarlo si estaba detenido.
fullstatus – Muestra una pantalla de estado completa. Requiere lynx y mod_status habilitados.
status – Muestra una pantalla de estado minimalista. Requiere lynx y mod_status habilitados.
graceful – Realiza un reinicio amistoso, es decir, finaliza todas las peticiones antes de realizarlo o, si está detenido, lo inicia.
configtest – Comprueba que el archivo de configuración sea correcto.
help – Muestra una pantalla de ayuda con estos comandos descritos en inglés.

Correo

En servidores cPanel se utiliza Exim como servicio de correo. Este, al igual que Apache, hace necesario reiniciar exim cuando aplicamos cambios en su configuración.

Utilización:

/etc/init.d/exim comando

Comandos disponibles:

start | stop | restart | status

SSH

Cualquier cambio al archivo configuracion del servicio SSH (como cambiar el puerto) requiere un reinicio para tomar efecto.

Utilización:

/etc/init.d/sshd comando

Comandos disponibles:

start | stop | restart | reload | condrestart | status

FTP

En los servidores cPanel se utiliza pure-ftp como servidor FTP. Como en Apache, será necesario un reinicio para que tome cualquier cambio en la configuración.

Utilización

/etc/init.d/pure-ftpd comando

Comandos disponibles

start | stop | restart | condrestart | status

MySql

Utilización

/etc/init.d/mysql

Comandos disponibles:

start | stop | restart | reload

Cron

En servidores Linux, el servicio cron se ocupa de ejecutar las tareas programadas en el servidor. Ante fallos de ejecución, es posible que tengamos que reiniciarlo.

Utilización

/etc/init.d/crond

Comandos disponibles

start | stop | status | reload | restart | condrestart

Registros del sistema (Syslog)

Los registros del sistema gestionan el registro de eventos en el sistema y kernel del servidor.

Utilización

/etc/init.d/syslog

Comandos disponibles

start | stop | status | restart | condrestart

Ejecutar los backups de cPanel

En algunas ocasiones puede ser necesario ejecutar de forma manual los backups automáticos realizados por cPanel. Sobre todo, cuando queremos probar un nuevo destino para las copias o vamos a realizar un cambio importante en el servidor y deseamos asegurarnos de que las copias son ejecutadas.

Para ejecutarlos, sólo debemos acceder mediante SSH y teclear el siguiente comando:

/usr/local/cpanel/bin/backup

Si el backup ya ha sido realizado hoy, nos será necesario forzar su ejecución de la siguiente forma:

/usr/local/cpanel/bin/backup --force

Sistema Legacy de backups

Para el antiguo sistema de backups, es necesario ejecutarlo de la siguiente forma:

/scripts/cpbackup

Para forzarlo:

/usr/local/cpanel/scripts/cpbackup --force

Activar SpamAssasin para todos los usuarios

Siempre es recomendable la utilización de SpamAssasin para nuestras bandejas de correo. De forma que evitamos perder el tiempo en leer / clasificar el SPAM.

En entornos de hosting compartido con cPanel, activar SpamAssasin en todos los dominios es la mejor opción para mantener limpio el correo de nuestros clientes.

Para activarlo, debemos acceder a WHM e ir al apartado Exim Configuration Manager dentro de Service Configuration

En la pestaña SpamAssasin, debemos activar la opción Spam Assassin: Forced Global ON

Esto filtrará todo el SPAM entrante, pero no realizará ninguna acción con él. Simplemente añadirá el prefijo ***SPAM*** en el asunto.

Error creando subdominio en cPanel

En ocasiones, cPanel puede que no permita crear un subdominio y que al intentarlo, nos muestre un error como el siguiente:

The system experienced a problem during the creation of the “ejemplo” subdomain.

O también puede aparecer como:

There was a problem creating the sub-domain: You do not have permission to create subdomains of the server’s hostname

Para solucionarlo basta con acceder a WHM > Server Configuration > Tweak Settings y activar la opción:

Allow users to park subdomains of the server’s hostname

DU: cómo ver los 10 directorios que ocupan más espacio

du (abreviatura de disk usage, uso de disco) es un comando estándar de los sistemas operativos de la familia Unix. Se usa para estimar el uso de espacio en disco duro de un archivo, un directorio en particular o de archivos en un sistema de archivos. La utilidad du apareció por primera vez en la versión 1 del Unix de AT&T.

Cómo usarla

Si queremos ver específicamente el peso de un archivo o carpeta de la forma más fácil y humana posible, ejecutamos:

$ du -bsh Videos/

Lo que nos devolverá:

du -bsh Videos/
215G    Videos/

Ahora, vamos a ver cuáles son los directorios más pesados que tenemos en nuestro /home organizados de mayor a menor:

$ du -sm *

Lo que nos devuelve:

$ du -sm *
1172    Descargas
68855   Documentos
4084    Escritorio
22270   Imágenes
174192  Linux
50887   Música
3088    Proyectos
1379    Trabajo
219515  Videos

Si sólo quisiéramos ver cuáles son, por ejemplo, los 5 directorios más pesados en nuestro /home podríamos usa du con una serie de comandos extras, por ejemplo:

$ du -sm * | sort -nr | head -5

Lo cual devolvería:

$ du -sm * | sort -nr | head -5
219515  Videos
174192  Linux
68855   Documentos
50887   Música
22270   Imágenes

Pero los valores que nos devuelven no son “tan humanos” pues están representados en MB y son más engorrosos de entender. Es por ello que ejecutamos:

$ du -hs * | sort -nr | head -5

Lo cual nos devuelve:

$ du -hs * | sort -nr | head -5
215G    Videos
171G    Linux
68G     Documentos
50G     Música
28K     mageia-2013.svg

Como ven, al contrario de lo que muchos piensan, usar el terminal a veces resulta más rápido y eficaz que ejecutar una aplicación gráfica. ¿Conocen alguna otra combinación interesante para du?

Combatir spam qmail con qmhandle

Existe una herramienta llamada qmhandle que es un script que sirve para manejar la cola de qmail y asi es como funciona.

Primero la deben descargar desde con wget:

# wget http://sourceforge.net/projects/qmhandle/files/latest/download/qmhandle-1.3.2.tar.gz

Ahora descomprimimos el tar en “/var/qmail/queue/qmHandle”

# mv qmhandle-1.3.2.tar.gz /var/qmail/queue/
cd /var/qmail/queue/
tar xvf qmhandle-1.3.2.tar.gz

Renombramos el directorio

# mv qmhandle-1.3.2 qmhandle

Y pues el resto ustedes lo pueden hacer con las diferentes opciones que maneja el qmhandle que las describo a continuación:

-a : Enviar todos los mensajes pendientes de la cola
-l : Listar las colas de correo
-L : Listar cola de correo local
-R : Listar cola de correo remota
-s : Mostrar por pantalla estadísticas
-mN : Mostrar mensaje N
-dN : Borrar mensaje N
-Stext : Borrar todos los mensajes cuyo asunto contenga “text”
-D : Borrar todos los correos de la cola (remota y local)
-V : Sacar versión por pantalla
-c : Resultados con colores
-N : Listar solo números (identificadores) de mensaje

Cómo cerrar conexiones de SSH

Si se tiene un servidor ssh al que seguramente se conectan clientes desde otros equipos Linux o Windows con clientes de ssh como putty, pues sucederá que algunas veces se requiere terminar la conexión desde el lado del servidor, sobre todo ¡¡si es una conexión sospechosa!!. LinuxTotal.com.mx te presenta un par de formas de lograrlo al matar los procesos que generan este tipo de conexiones.

 

Con ps y kill

La manera de terminar la conexión ssh desde el servidor es matando el número de proceso (PID) relacionado al socket de red de la conexión establecida. Si usamos con las opciones correctas podremos observar esta conexión:

#> netstat -pnat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:902                 0.0.0.0:*                   LISTEN      4869/xinetd
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      5213/smbd
tcp        0      0 0.0.0.0:10000               0.0.0.0:*                   LISTEN      5459/perl
tcp        0      0 0.0.0.0:6000                0.0.0.0:*                   LISTEN      5177/X
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5222/httpd
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      5222/httpd
tcp        0      0 :::22                       :::*                        LISTEN      5160/sshd
tcp        0      0 ::ffff:192.168.1.72:22      ::ffff:192.168.1.100:55855  ESTABLISHED 6950/sshd: sergio

En la última línea claramente se observa que el equipo remoto (cliente) 192.168.1.100 esta conectado al puerto 22 del equipo 192.168.1.72 que en este caso sería el servidor ssh, también en la última columna, tenemos el PID 6950 y al usuario sergio. Datos que nos indican el proceso del socket que se estableció en la conexión ssh y el usuario que se logueo desde el equipo remoto.

Si el usuario remoto que se hubiera conectado fuera root, entonces ya bastaría con matar el PID mostrado y terminariamos la conexión, pero en este caso (que debe ser lo correcto por seguridad) un usuario normal (sergio) fue el que se conectó y en este caso se generan dos PID’s para la conexión, veámoslo con un :

#> ps -ef | grep sergon
root      6950  5160  0 20:06 ?        00:00:00 sshd: sergon [fusion_builder_container hundred_percent="yes" overflow="visible"][fusion_builder_row][fusion_builder_column type="1_1" background_position="left top" background_color="" border_size="" border_color="" border_style="solid" spacing="yes" background_image="" background_repeat="no-repeat" padding="" margin_top="0px" margin_bottom="0px" class="" id="" animation_type="" animation_speed="0.3" animation_direction="left" hide_on_mobile="no" center_content="no" min_height="none"][priv]
sergon    6953  6950  0 20:06 ?        00:00:00 sshd: sergon@pts/3

Un usuario normal genera dos procesos, habrá que matar a los dos o con que termines el proceso asignado al usuario que en este caso sería 6953:

#> kill -9 6953


$> Connection to 192.168.1.72 closed by remote host.
Connection to 192.168.1.72 closed.

El mensaje dice que la conexión fue cerrada por el ‘remote host’ host remoto, confirmando que fue desde el lado del servidor que se interrumpió o “mató” el enlace.

 

Con who y pkill

En el listado de anterior, además de ver su número de proceso también obervamos a que terminal esta ligado el proceso, en la última columna está el dato y es: ‘sergio@pts/3’, lo mismo se obtiene más simplemente con el comando :

#> who
sergio   :0           2007-11-05 19:28
sergio   pts/3        2007-11-05 20:23 (192.168.1.100)

Sabiendo entonces que hay un usuario en la pseudo terminal 3, es posible usar que permite enviar señales (signals) a los procesos basado no en su PID sino en sus atributos o características, en este caso el número de la terminal:

#> pkill -9 -t pts/3


$ Connection to 192.168.1.72 closed.

Se envió la señal -9 que indica matar (KILL) el proceso, la opción -t indica que se basará en un atributo de nombre de terminal y se indica después el nombre de la terminal en si pts/3.

 

Si administras un servidor ssh, ten a la mano estos útiles comandos que te permitirán terminar conexiones cuando tu lo desees, sin necesidad de terminar todo el servicio de ssh.[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]