Técnicamente , cambiar tu contraseña es suficiente si no crees que tu clave privada (protegida por contraseña) también se ha filtrado.
Realísticamente , es posible que desee reemplazar su clave SSH por una nueva. Son tan baratos que podrían ser gratuitos, y evita que se preocupe por si alguien tiene, es o podrá obtener una copia de la clave privada con la frase de contraseña comprometida. Recuerde, si alguien toma una copia de su clave de la que hizo una copia de respaldo meses antes de que filtró (y cambió) su frase de contraseña, la frase de contraseña aún le da acceso a esa clave, que es la misma que está usando hoy en una nueva frase de contraseña.
Tan solo cambia tu llave. Es una buena práctica y las mejores prácticas.
Editar:
@ David-Z ha sugerido que el tiempo necesario para reemplazar la clave es un costo a considerar. Sostengo que, ya que estamos hablando de claves, eso también es insignificante, ya que puede automatizar el proceso. El siguiente script me tomó cerca de 15 minutos para escribir y probar:
#!/bin/bash
for i in $*
do
cat newkey.pub | ssh -i oldkey username@$i "cat >> ~/.ssh/authorized_keys"
ssh -i newkey username@$i "sed -n '/my_old_key/!p' < ~/.ssh/authorized_keys > ~/.ssh/authorized_keys_tmp && mv ~/.ssh/authorized_keys_tmp ~/.ssh/authorized_keys"
if [ $? -eq 0 ]; then
echo "Successful key replacement for $i"
else
echo "Key replacement failed for $i"
fi
done
Esta secuencia de comandos:
- Use la clave antigua para agregar la nueva clave a las teclas_autorizadas remotas
- Utilice la nueva clave para eliminar la clave antigua de las teclas_de_ autorizadas remotas
La belleza es que si algo salió mal al presionar la nueva llave, la eliminación de la llave antigua fallará ya que usa la nueva llave, por lo que es menos probable que te dispares en el pie.
Necesitará almacenar en caché sus frases de contraseña con ssh-agent para que no le indiquen estos usos de ssh; luego ejecútelo con los servidores que desea actualizar en la línea de comando:
$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-GWE6uxZxn9IS/agent.2016; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2017; export SSH_AGENT_PID;
echo Agent pid 2017;
$ ssh-add oldkey
Enter passphrase for oldkey:
Identity added: oldkey (oldkey)
$ ssh-add newkey
Enter passphrase for newkey:
Identity added: newkey (newkey)
$ ./chssh.sh server1 server2 server3
Successful key replacement for server1
Successful key replacement for server2
Successful key replacement for server3
$