Al instalar Ubuntu 16.04, decidí elegir la opción de cifrar mi directorio de inicio. También utilizo la autorización de solo clave ssh, ya que los inicios de sesión con contraseña están deshabilitados por seguridad.
Pude resolver el problema de "no poder iniciar sesión porque .ssh/authorized_keys" usando esto:https://stephen.rees-carter.net/thinked/encrypted-home-directories-ssh-key-authentication. En resumen:
sudo vim ~/.profile
y luego entrando
ecryptfs-mount-private
cd /home/username
Pero ahora, el reenvío X11 a través de ssh no funciona. Parece que el archivo MMC (MIT Magic Cookie) .Xauthority no llega al directorio de inicio no cifrado.
Respuesta1
Mi idea inicial es modificar ~/.profile para que diga:
cp "$HOME/.Xauthority" /temp/$USERNAME/
ecryptfs-mount-private
mv /temp/$USERNAME/.Xauthority "$HOME"
Donde /temp/$USERNAME es un directorio propiedad de $USERNAME y tiene 700 permisos. Sin embargo, no estoy seguro de qué tan segura sea esta opción.
Respuesta2
He estado usando esto como mi /usr/local/bin/ecryptfs-mount-private
:
#!/bin/sh
# eCryptfs helper script that transfers X11 Authority properly after mounting
# Copyright 2016+ by Adam Katz <https://github.com/adamhotep>, GPLv2+
# If you're root or lack the expected ecryptfs area, don't do anything extra
if [ "$(id -u)" = 0 ] || ! [ -d "/home/.ecryptfs/$USER" ]; then
exec /usr/bin/ecryptfs-mount-private "$@"
exit $?
fi
if grep -qs "$HOME/.Private $HOME ecryptfs" /proc/mounts; then
exit # already mounted
fi
xauth="$(base64 $HOME/.Xauthority)"
if /usr/bin/ecryptfs-mount-private "$@"; then
echo "$xauth" |base64 -d |xauth merge
fi
Esto fusiona de forma segura la xauth de su hogar cifrado con la xauth de su hogar no cifrado, que contiene la autorización agregada por SSH. Esto es esencial cuando se conecta desde varios hosts simultáneamente (sobrescribir el cifrado ~/.Xauthority
revocaría las autorizaciones para las sesiones creadas mientras el hogar cifrado está montado).
Se utiliza base64
para convertir datos binarios en algo seguro para almacenar en una variable.