accidentalmente publiqué mi frase de contraseña SSH, ¿qué debo hacer?

39

Entonces confundí los campos de entrada y ahora mi frase clave SSH es visible para el mundo, y ni siquiera puedo eliminarla.

Ahora que lo entiendo, esto no es un problema de seguridad inmediato, ya que la frase de contraseña solo protege contra el caso de que mi propia clave privada se divulgue. Como eso no sucedió (la clave solo existe en el hardware que poseo), como mucho debo cambiar la contraseña en caso de que suceda en el futuro, no tengo que cambiar a una clave SSH diferente en todos los lugares que he usado it.

¿Eso es correcto? Teniendo en cuenta que todo esto es para proyectos privados y que una infracción hipotética podría ser, a lo sumo, molesto y vergonzoso.

    
pregunta Michael Borgwardt 04.04.2015 - 18:25
fuente

2 respuestas

47

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:

  1. Use la clave antigua para agregar la nueva clave a las teclas_autorizadas remotas
  2. 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
$ 
    
respondido por el gowenfawr 04.04.2015 - 20:02
fuente
20

Se puede cambiar la frase de contraseña de una clave existente con:

ssh-keygen -p

... Sin embargo, no has terminado. También debe tener en cuenta las copias de sus claves antiguas, estas deben eliminarse o deben tratarse como comprometidas. Piense en las copias de seguridad, pero también en los datos de los sistemas de archivos (los sistemas de archivos de copia y escritura, como ZFS y btrfs, podrían guardar una copia en algún lugar del servidor de almacenamiento).

Cambiar su contraseña es una solución a corto plazo si cree que puede filtrarse su archivo de claves. Si no puede estar seguro de que todas las copias de su antigua clave privada hayan desaparecido, debería considerar cambiar su archivo de clave privada.

No se olvide de todos los servicios donde también se adjunta su clave pública. Filtrar tu clave es un problema, violar otros sistemas sería un mal efecto secundario.

    
respondido por el Lekensteyn 04.04.2015 - 19:59
fuente

Lea otras preguntas en las etiquetas