web-dev-qa-db-ja.com

非rootユーザー用に公開鍵認証SSHをセットアップする

Rootユーザーの公開鍵を使用してsshログインをセットアップでき、非rootユーザーにも同じロジックを適用しようとしました。私はこの問題を無駄にトラブルシューティングしようとしました。ローカルマシンとリモートサーバーの両方にCentOSを使用しています。

これが私のリモートサーバーである私のsshd_configファイルの要点です、

RSAAuthentication yes
PublicKeyAuthentication yes
AuthorizedKeysFile /etc/ssh/user/authorized_keys

PasswordAuthentication no

UsePAM no

PermitRootLogin without-password

Centosでのホームディレクトリの暗号化について読んだので、許可されたキーファイルをユーザーのホームから/ etc/ssh/user/authorized_keysに移動しました。

非rootユーザーに関連付けられているすべてのファイル/ディレクトリの所有権も変更しました。

同じ構成がrootリモートログインに対して非常にうまく機能するため、構成に欠落している手順がわかりません。

7
user2887201

構成ファイルのauthorized_keysエントリを削除します。 sshdを再起動します。非rootユーザーのホームディレクトリに.sshディレクトリを作成します。 〜/ .ssh/authorized keysというファイルにキーを入れます。ディレクトリ0700とauthorized_keysファイル0644を作成します。rootユーザーについても同じことを行います。

7
dmourati

明確にするために、OriginマシンのPUBLICキーファイル(例:〜/ .ssh/id_rsa.pub)を宛先マシンの〜/ .ssh/authorized_keysに置く必要があります。

〜/ .ssh/id_rsaにコピーした場合、それは機能しません。最新のsshdは、宛先マシンで〜/ .sshをモード700、〜/ .ssh/authorized_keysをモード600にすることも要求します。

余談ですが、可能であれば、sshを介したrootログインを許可する代わりにSudoを使用してください。

3
Bill McGonigle