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
ubuntu
etiqueta, pero no creo que este problema sea específico de ningún sistema operativo en particular.authorized_keys
aú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_keys
en/home/**.ecryptfs**/$USER
sin cifrado y enlazar con él desde cifró el hogar, así como su casa sin cifrar. Lo nuevo.profile
en su hogar no encriptado debe montar su directorio de inicio encriptado, "cd" en él y obtener su fuente real.profile
.ecryptfs-mount-private
solicita 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
~/.ssh
y enlazas simbólicamente la versión encriptada~/.ssh
a 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.txt
archivo 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