Změňte tento řádek v souboru sshd_config:
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
A poté přesuňte svůj soubor autorizovaných_klíčů do /etc/ssh/vaše-uživatelské_jméno/authorizované_klíče
Tento příspěvek dokumentuje další způsob, jak to vyřešit.
Toto řešení bylo inspirováno tímto příspěvkem. IMHO je to mnohem lepší než upravovat váš /etc/ssh/sshd_config, protože to vůbec nevyžaduje přístup 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
Strávil jsem nějaký čas tím, že jsem se s tím pohrával, a odpověď je, že je to v podstatě nemožné. Je možné nastavit přihlašování bez hesla pomocí veřejného klíče přes ssh, takže pro přihlášení nemusíte zadávat heslo , ale tím se nikam nedostanete, protože váš domovský adresář je stále zašifrován.
Prostým faktem je, že váš zašifrovaný domovský adresář je zašifrován heslem*, takže jediným způsobem, jak jej dešifrovat, je toto heslo.
A pokud si myslíte, že by teoreticky mělo být možné použít váš ssh klíč k dešifrování přístupové fráze pro připojení po přihlášení, nebude to fungovat, protože váš soukromý klíč není na server vůbec odeslán.
Takže v podstatě, pokud chcete šifrování, musíte používat hesla. Šifrované domovské adresáře jsou ze stejného důvodu nekompatibilní s přihlašováním pomocí otisků prstů.
*Vím, že je to složitější než jediné heslo, ale pojďme to zatím zjednodušit.