Recientemente configuré un nuevo servidor con Ubuntu karmic 9.10, y cuando creé mi directorio de inicio elegí hacerlo encriptado. Ahora, después de cargar mi archivo autorizado_keys en ~ / .ssh, no se reconoce porque mi directorio de inicio no se descifra hasta después de iniciar sesión. ¿Hay alguna manera de hacer que las claves SSH funcionen con directorios de inicio cifrados en Ubuntu?
ssh
disk-encryption
Josh
fuente
fuente

ubuntuetiqueta, pero no creo que este problema sea específico de ningún sistema operativo en particular.authorized_keysaún no está accesible). Si inicio otra conexión ssh, la autenticación de clave funciona.Respuestas:
Cambie esta línea en su archivo sshd_config:
Y luego mueva su archivo autorizado_claves a / etc / ssh / su-nombre de usuario / autorizado_claves
Esta publicación documenta otra forma de resolver esto.
fuente
Esta solución fue inspirada por esta publicación . En mi humilde opinión, es mucho mejor que modificar su / etc / ssh / sshd_config ya que no requiere acceso root en absoluto.
fuente
authorized_keysen/home/**.ecryptfs**/$USERsin cifrado y enlazar con él desde cifró el hogar, así como su casa sin cifrar. Lo nuevo.profileen su hogar no encriptado debe montar su directorio de inicio encriptado, "cd" en él y obtener su fuente real.profile.ecryptfs-mount-privatesolicita la contraseña de usuario cada vez que se inicia sesión correctamente mediante claves públicas, a menos que haya iniciado sesión en la GUI. Mi edición reemplaza algunos ecos con un documento aquí, es menos repetitivo para escribir, no se confunda con eso.Acabo de pasar un tiempo jugando con esto, y la respuesta es que es básicamente fundamentalmente imposible. Que es posible establecer inicios de sesión sin contraseña autentificados de clave pública a través de SSH, por lo que no tiene que escribir su contraseña para entrar , pero eso no lleva a ninguna parte, debido a su directorio principal todavía está cifrada.
El simple hecho es que su directorio de inicio encriptado está encriptado con una contraseña *, por lo que la única forma de descifrarlo es con esa contraseña.
Y si está pensando que, en teoría, debería ser posible usar su clave ssh para descifrar la frase de contraseña de montaje al iniciar sesión, eso no funcionará porque su clave privada nunca se envía al servidor.
Básicamente, si quieres encriptar, debes usar contraseñas. Los directorios principales cifrados son incompatibles con los inicios de sesión de huellas digitales por el mismo motivo.
* Sé que es más complicado que una sola contraseña, pero hagámoslo simple por ahora.
fuente
Si no le gusta modificar la configuración predeterminada (no lo hago, me gusta que mis archivos estén donde espero que estén), entonces puede echarle un vistazo a mi publicación sobre cómo hacerlo:
En breve. Pones tus claves en la versión encriptada de tu usuario
~/.sshy enlazas simbólicamente la versión encriptada~/.ssha la otra. De esta manera siempre está ahí.Para la gente perezosa como yo, aquí hay un guión para hacerlo por usted. Simplemente ejecútelo como el usuario normal. No se necesitan permisos ni acceso root y no se requieren cambios en la configuración del servidor. Configuración de usuario normal pura.
fuente
Puede usar la clave pública más segura para iniciar sesión y luego ejecutar lo siguiente para montar su directorio después de escribir su contraseña:
Lea el
~/README.txtarchivo después de iniciar sesión a través de SSH, encontrará que no tiene sus archivos porque el directorio encriptado no está montado.No debe utilizar claves públicas sin contraseña para iniciar sesión de todos modos. Mira ssh-agent para una mejor manera.
fuente