暗号化されたホームではSSH公開鍵ログインを実行できません。

暗号化されたホームではSSH公開鍵ログインを実行できません。

SSH公開鍵を介して自分のサーバーにログインできません。問題は、私の家の暗号化に関連しているようです。 Ubuntuインストール設定で「マイホームフォルダの暗号化」オプションを選択しました。権限は/home/MY-USER700です。

別のワークステーションを試してみましたが、すべてがうまくいきます。誰かが暗号化を削除せずにこの問題を解決するのに役立つことができれば幸いです。

ベストアンサー1

ホームディレクトリが暗号化されている場合、sshデーモンはホームディレクトリに入り、秘密鍵が公開鍵と一致することを確認できません。最終的に.sshフォルダは暗号化されます。

この問題に対する解決策は、認証キーを含む.sshフォルダを暗号化されていないホームディレクトリにプレーンテキストとして保存することです。ただし、暗号化技術がパスワードをすべて復号化する鍵として使用している場合でも、すべてを復号化するにはパスワードを入力する必要があります。

したがって、本当のパスワードのないログインはここでは機能しません。 (暗号解読プロセスに自動的に入力できるように、パスワードをプレーンテキストでどこかに保存したい場合を除き、まったく暗号化しないよりも安全性が低いです。)

ホームディレクトリを暗号化するためにどのような技術を使用していますか?

アップデート:ubuntuはecryptfsを使用して、ログイン時に暗号化されたパーティションをマウントします(したがってパスワードを提供するとき)、sshに.sshフォルダを再度検索させるには、次の手順を実行します。

# copy your .ssh folder 
mkdir /tmp/mine
chmod 700 /tmp/mine
mkdir /tmp/mine/.ssh
chmod 700 /tmp/mine/.ssh
cp ~/.ssh/authorized_keys /tmp/mine/.ssh/
cd /tmp/mine
# unmount your encrypted home drive
/sbin/umount.ecryptfs_private
# copy your ssh folder to the place ssh will actually look for
cp -r .ssh ~
# be sure to remove it again from /tmp
rm /tmp/mine/ -rf

これで再度ログインできますが、ホームフォルダは自動的に復号化されません。暗号化されていない状態でインストールするには、ログインするたびに次のように入力する必要があります。

/sbin/mount.ecryptfs_private

ログインパスワードをもう一度尋ねます。

これについての詳細はこちらでご覧いただけます。 https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/362427

おすすめ記事