Implantación de Aplicaciones Web
José Juan Sánchez Hernández
Curso 2023/2024
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:Rcpw9NAYKOerfK1wOUaTXFAqnqN2gmUqe5Ebrokl9YU.
Please contact your system administrator.
Add correct host key in /Users/josejuan/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/josejuan/.ssh/known_hosts:36
ECDSA host key for 192.168.0.169 has changed and you have requested strict checking.
Host key verification failed.
Este mensaje de error indica que el fingerprint
de la
clave ECDSA (Elliptic Curve Digital Signature Algorithm
)
enviado por el host remoto, en este caso el host
192.168.0.169
, no coincide con el fingerprint
que actualmente está almacenado en el el archivo
~/.ssh/known_hosts
de nuestro equipo. El archivo
~/.ssh/known_hosts
contiene los valores de los
fingerprints
de las máquinas a las que nos hemos conectado
alguna vez por SSH.
Este error puede suceder porque el host remoto al que queremos conectarnos ha modificado su clave ECDSA o porque la dirección IP pública del host remoto ahora está asignada a otro host diferente.
Para solucionar este problema, puede hacer los siguientes pasos:
Edita el archivo ~/.ssh/known_hosts
de tu máquina
local tu editor de texto favorito.
Busca la línea que hace referencia a la
dirección IP del host remoto al que quieres conectarte y
elimínala del archvivo. Por ejemplo, en nuestro caso
buscaríamos la línea que contiene la dirección IP
192.168.0.169
y la eliminaríamos.
Una vez hecho esto, cuando nos conectemos por SSH al host remoto se
añadirá una nueva línea en el archivo ~/.ssh/known_hosts
con el nuevo valor del fingerprint
de la clave ECDSA.
Tiene que tener en cuenta que si ha iniciado el proceso en segundo
plano con el carácter ampersand (&
) al final del
comando, el proceso finalizará cuando se cierre la sesión SSH.
Para evitar que el proceso finalice la sesión SSH podemos iniciarlo
con alguna de las siguientes utilidades: nohup
,
screen
o tmux
.
nohup
: Esta utilidad ejecuta el comando que recibe como
parámetro y hace que ignore las señales SIGHUP
, que son las
señales que se envían a un proceso cuando el terminal que los controla
se cierra.Ejemplo:
nohup goaccess /var/log/apache2/access.log -o /var/www/html/stats/index.html --log-format=COMBINED --real-time-html &
screen
: Esta utilidad permite iniciar una sesión y
tener varios terminales virtuales en ella. Los procesos que se ejecutan
en estos terminales virtuales no finalizarán al cerrar el terminal
virtual.Ejemplo:
screen -dmL goaccess /var/log/apache2/access.log -o /var/www/html/stats/index.html --log-format=COMBINED --real-time-html
Las opciones que se han utilizado en el ejemplo anterior son:
-d
inicia una sesión y automáticamente se desconecta de
ella, -m
fuerza la creación de una nueva sesión y
-L
habilita el log.
tmux
: Es una alternativa más reciente que
screen
. Realiza la misma funcionalidad que
screen
.Podemos comprobar que le proceso se está ejecutando de forma correcta
haciendo un listado de todos los procesos que están en ejecución con
ps aux
y buscando en la lista el nombre del proceso con
grep mysqld
.
ps aux | grep mysqld
pkill
: Para matar un proceso a partir del nombre del
proceso.Ejemplo: Matar el proceso mysqld
pkill mysqld
kill
: Para matar un proceso a partir del PID (Process
Identifier).Ejemplo: Matar el proceso con PID igual a 1815.
kill -9 1815
Esta
página forma parte del curso
Implantación de Aplicaciones
Web de José Juan Sánchez
Hernández y su contenido se distribuye bajo una
licencia
Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0
Internacional.