GNU/Linux >> Tutoriels Linux >  >> Linux

SSH avec des clés autorisées à un système Ubuntu avec un répertoire personnel crypté ?

Modifiez cette ligne dans votre fichier sshd_config :

AuthorizedKeysFile /etc/ssh/%u/authorized_keys

Et puis déplacez votre fichier authorized_keys vers /etc/ssh/your-username/authorized_keys

Ce message documente une autre façon de résoudre ce problème.


Cette solution a été inspirée par ce post. À mon humble avis, c'est bien mieux que de modifier votre /etc/ssh/sshd_config car il ne nécessite pas du tout d'accès root.

# Make your public key accessible
mkdir -m 700 /home/.ecryptfs/$USER/.ssh
echo $YOUR_PUBLIC_KEY > /home/.ecryptfs/$USER/.ssh/authorized_keys
ln -s /home/.ecryptfs/$USER/.ssh/authorized_keys ~/.ssh/authorized_keys
ecryptfs-umount-private
chmod 700 $HOME
mkdir -m 700 ~/.ssh
ln -s /home/.ecryptfs/$USER/.ssh/authorized_keys ~/.ssh/authorized_keys

# Make it auto-mount with first login.
# Note: it can cause problems with automated login.
echo /usr/bin/ecryptfs-mount-private > ~/.profile
echo cd >> ~/.profile
echo source .profile >> ~/.profile
ecryptfs-mount-private

Je viens de passer un peu de temps à jouer avec ça, et la réponse est que c'est à peu près fondamentalement impossible. C'est c'est possible de configurer des connexions authentifiées par clé publique sans mot de passe via ssh, vous n'avez donc pas à saisir votre mot de passe pour vous connecter , mais cela ne vous mène nulle part, car votre répertoire personnel est toujours chiffré.

Le simple fait est que votre répertoire personnel chiffré est chiffré avec un mot de passe*, donc la seule façon de le déchiffrer est avec ce mot de passe.

Et si vous pensez qu'en théorie, il devrait être possible d'utiliser votre clé ssh pour déchiffrer la phrase de passe de montage lors de la connexion, cela ne fonctionnera pas car votre clé privée n'est jamais envoyée au serveur.

Donc, fondamentalement, si vous voulez un cryptage, vous devez utiliser des mots de passe. Les répertoires personnels chiffrés sont incompatibles avec les connexions par empreinte digitale pour la même raison.

*Je sais que c'est plus compliqué qu'un seul mot de passe, mais restons simples pour l'instant.


Linux
  1. Activer SSH sur Ubuntu 20.04 - Guide étape par étape ?

  2. Ssh - Copier un fichier sur le système local avec Ssh ?

  3. Ssh – Restreindre un utilisateur Ssh/scp/sftp à un répertoire ?

  4. Comment installer le serveur SSH sur Ubuntu / Debian avec OpenSSH

  5. Modifier le port SSH dans le système d'exploitation Linux Ubuntu

Comment activer SSH sur Ubuntu 18.04

Serveur SSH Ubuntu 20.04

Connexions SSH basées sur des clés avec PuTTY

Comment installer le client Putty SSH sur Ubuntu 20.04 LTS

Comment gérer à distance le serveur Ubuntu avec SSH

Comment changer le port SSH sur Ubuntu ?