Cloné un servidor y tienen la misma huella digital de clave RSA.
Parece estar definido en /etc/ssh/ssh_host_rsa_key.pub
.
¿Cuál es la forma correcta de cambiar eso?
Gracias.
Cloné un servidor y tienen la misma huella digital de clave RSA.
Parece estar definido en /etc/ssh/ssh_host_rsa_key.pub
.
¿Cuál es la forma correcta de cambiar eso?
Gracias.
Respuestas:
O bien, quite las llaves y
ssh-keygen -A
Explicación:
-A
: Para cada uno de los tipos de clave (rsa1, rsa, dsa, ecdsa y ed25519) para las que no existen claves de host, genere las claves de host con la ruta de archivo de clave predeterminada, una frase de contraseña vacía, bits predeterminados para el tipo de clave y predeterminado comentario. / Etc / rc lo utiliza para generar nuevas claves de host.
ssh-keygen -A
haga lo siguiente: "Para cada uno de los tipos de clave (rsa1, rsa, dsa, ecdsa y ed25519) para las que no existen claves de host, genere el host claves con la ruta de archivo de clave predeterminada, una frase de contraseña vacía, bits predeterminados para el tipo de clave y comentario predeterminado. / etc / rc lo utiliza para generar nuevas claves de host ".
Siga estos pasos para regenerar las claves de host de OpenSSH
rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server
~/.ssh/known_hosts
archivos de cliente (s) sshPara un método genérico de hacer esto:
ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -q -N "" -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -q -N "" -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
mezcle y combine de acuerdo con las teclas que admite su versión de OpenSSH.
ssh-keygen -q -N "" -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key
Elimínelos y reinicie el servicio SSHd. Serán regenerados.
/etc/init.d/ssh restart<newline> Could not load host key: /etc/ssh/ssh_host_rsa_key<newline> Could not load host key: /etc/ssh/ssh_host_dsa_key<newline> [....] Restarting OpenBSD Secure Shell server: sshdCould not load host key: /etc/ssh/ssh_host_rsa_key<newline> Could not load host key: /etc/ssh/ssh_host_dsa_key
Script (en caso de que reiniciar el demonio sshd no regenere automáticamente las claves)
#!/bin/bash
# Regenerate SSHD key materials, restart sshd if "-r" passed on command line
set -o nounset
WHERE=/etc/ssh
# go to directory
pushd $WHERE >/dev/null
if [[ $? != 0 ]]; then
echo "Could not cd to $WHERE -- exiting" >&2
exit 1
fi
# create backup folder
NOW=`date '+%Y%m%d.%H%M%S'` # default NOW string
BAKDIR=bak_$NOW
mkdir $BAKDIR
if [[ $? != 0 ]]; then
echo "Could not mkdir $BAKDIR -- exiting" >&2
exit 1
fi
# move existing key material to backup folder
mv ssh_host_* $BAKDIR
if [[ $? != 0 ]]; then
echo "Could not move old files to $BAKDIR -- exiting" >&2
exit 1
fi
# generate new keys
ssh-keygen -A
if [[ $? != 0 ]]; then
echo "Could not recreate keys -- exiting" >&2
exit 1
fi
# ssh-keygen may create DSA keys but:
# "Never use DSA or ECDSA"
# http://security.stackexchange.com/questions/5096/rsa-vs-dsa-for-ssh-authentication-keys
/bin/rm -f *_dsa_key *_dsa_key.pub
/bin/rm -f *_ecdsa_key *_ecdsa_key.pub
# on Fedora, one has to tune permissions a bit
chmod 640 *_key
chgrp ssh_keys *_key
# make sure SELinux attributes are as they should be
restorecon -R $WHERE
# Done
echo "New key material"
ls -l *_key *_key.pub
# Do the risky thing
if [[ $1 == '-r' ]]; then
echo "Restarting SSH daemon"
systemctl restart sshd
fi
# go back to where you where
popd >/dev/null