Eliminar accidentalmente .ssh / Authorized_keys, ¿es un error grave?


13

Soy nuevo en configurar SSH Keys en Ubuntu 16.04. Estaba buscando una clave autorizada para eliminar nombrada annepero creo que eliminé todo el authorized_keysarchivo.

mike@mike-thinks:~$ rm /home/mike/.ssh/
authorized_keys  id_rsa           id_rsa.pub       known_hosts
mike@mike-thinks:~$ rm /home/mike/.ssh/authorized_keys 

¿Es un grave error? En caso afirmativo, ¿cómo regenerarlos? Mientras tanto hice eso:

mike@mike-thinks:~/.ssh$ touch ~/.ssh/authorized_keys
mike@mike-thinks:~/.ssh$ ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
mike@mike-thinks:~/.ssh$ chmod 600 ~/.ssh/authorized_keys

¿Cómo terminó el primer rmcomando enumerando el contenido del directorio? ¿Es eso un error de copia que debería ser ls /home/mike/.ssh/?
Barmar

3
@Barmar, así es como se ve en Bash cuando presionas la pestaña para completar automáticamente la ruta, y hay varias opciones.
ilkkachu

2
Ahora es el mejor momento para pensar en la copia de seguridad y restauración .
Restablecer a Monica - M. Schröder

Respuestas:


21

El ~/.ssh/authorized_keysarchivo contiene una lista de claves públicas. Permite a todos los que poseen una clave privada que coincida con uno de ellos conectarse a esta máquina y obtener acceso remoto bajo esta cuenta de usuario (la tilde ~en la parte delantera de la ruta significa que este archivo está bajo el directorio de inicio del usuario actual).

En el servidor (la máquina que desea conectarse a ):

Si eliminó este archivo, nadie podrá autenticarse con esta cuenta de usuario utilizando sus claves privadas. La autenticación de contraseña seguirá funcionando, a menos que esté deshabilitada.

Tendría que regenerar el archivo y agregar todas las claves públicas a las que desea otorgar acceso mediante el método de autenticación de clave pública nuevamente.

En el cliente (la máquina que desea conectarse a , es decir, su máquina local):

Aquí no necesita un authorized_keysarchivo, porque probablemente no quiera autorizar ninguna clave y otorgarles acceso remoto a su computadora local. Debe estar vacío o eliminado.

En el cliente, sólo necesita los archivos de claves privadas que hayan sido autorizados en el servidor (es decir, que tienen sus correspondientes claves públicas en el authorized_keysarchivo en el servidor), y opcionalmente un apropiados configy known_hostsde archivo.


Gracias ! Hmm, soy realmente nuevo en claves públicas, privadas y acceso remoto. Esta es mi máquina personal. Creo que nadie tenía acceso remoto a mi máquina, creo que no.
IggyPass

Si no desea que nadie tenga acceso a la máquina, simplemente elimine el archivo o déjelo vacío y listo.
pLumo

2
Bien, entonces creo que lo leíste mal. No necesita el authorized_keysarchivo en la máquina local, sino en el servidor.
pLumo

3
ssh-keygencrea id_rsay id_rsa.pubno authorized_keys. Y eso seguro.
pLumo

1
Tenga en cuenta que es bastante común querer enviar ssh desde otra computadora a su computadora de escritorio, y usar claves para autenticarse en ese caso es más seguro.
Karl Bielefeldt

3

Sí, eliminaste todo el archivo. Para recrearlo, todos los usuarios tienen que copiar sus claves ssh en el servidor agein. Puedes usar

ssh-copy-id user@hostname.example.com

Si no desea eliminar todas las claves, edite el archivo y elimine solo las líneas la próxima vez.


Gracias, esta es mi máquina personal. No estoy seguro de que sirvió como servidor todavía
IggyPass

2
En su cliente, necesita el archivo de clave privada y conocidos_hosts y en el servidor autorizado_keys con pubkeys
trietend
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.