sshd_config ファイルの次の行を変更してください:
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
そして、authorized_keys ファイルを /etc/ssh/your-username/authorized_keys に移動します
この投稿では、これを解決する別の方法について説明します。
このソリューションは、この投稿に触発されました。 root アクセスをまったく必要としないため、/etc/ssh/sshd_config を変更するよりもはるかに優れています。
# 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
私はこれをいじって時間を費やしましたが、その答えは、基本的にほとんど不可能だということです。それはです ssh 経由でパスワードなしの公開鍵認証ログインを設定できるため、ログイン するためにパスワードを入力する必要がありません 、しかし、ホーム ディレクトリはまだ暗号化されているため、どこにも行きません。
単純な事実として、暗号化されたホーム ディレクトリはパスワード*で暗号化されているため、復号化する唯一の方法はそのパスワードを使用することです.
また、理論的にはログイン時に ssh キーを使用してマウント パスフレーズを復号化できるはずだと考えている場合、プライベート キーがサーバーにまったく送信されないため、それは機能しません。
基本的に、暗号化が必要な場合は、パスワードを使用する必要があります。暗号化されたホーム ディレクトリは、同じ理由で指紋ログインと互換性がありません。
*単一のパスワードよりも複雑であることはわかっていますが、ここでは単純にしておきましょう。