非標準のホームディレクトリを持つSSHユーザーをCentos 7 AWSシステムに追加する方法は?

非標準のホームディレクトリを持つSSHユーザーをCentos 7 AWSシステムに追加する方法は?

AWSにCentOS 7インスタンスがあり、.pemファイルを使用して接続しています。新しいユーザーを作成し、標準的な手順に従う(.sshディレクトリの作成、chmod 700、Authorized_keysファイルの生成、公開鍵のコピー、chmod 600)手順は次のとおりです。https://aws.amazon.com/premiumsupport/knowledge-center/new-user-accounts-linux-instance/)良い結果。

ただし、非標準のホームディレクトリで新しいユーザーを作成すると、権限エラーが発生し続けます。 /ディレクトリにフォルダを作成しようとした後、権限が他のフォルダと一致しないことがわかったときに、rootアカウントを使用してそこに新しいフォルダを作成し、そのフォルダユーザーの下に新しいフォルダを作成しました。 (したがって、デフォルトでは/test/はrootが所有し、/test/newuser/は新しいユーザーが所有します。)

残りの手順を実行しましたが、まだ運がありません。

/etc/ssh/sshd_config ファイルを確認し、次のように編集しました。

AuthorizedKeysFile .ssh/authorized_keys /test/newuser/.ssh/authorized_keys

それも無駄です。

この設定はAmazon Linux 2イメージでは機能しますが、CentOS 7では機能しません。どんな提案がありますか?

答え1

ユーザーの作成時に非標準のホームディレクトリを指定するには、useradd次のコマンドを使用します。

デフォルトのホームディレクトリの作成

sudo mkdir /test

SELinuxが有効になっていて適用モードで実行されている場合は、ファイルに正しいSELinuxコンテキストでラベルを付け直す必要があります。

sudo semanage fcontext -a -t user_home_dir_t "/test(/.*)?"

SELinuxがファイルラベルを動的に再割り当てするように強制する

sudo restorecon -Rv /test

次に、カスタムホームディレクトリとしてユーザーを追加します。

sudo useradd -d /test/user1 user1
sudo useradd -d /test/user2 user2

これらのユーザーは、自分のホームディレクトリに対して正しい権限が設定されます。 SELinuxのコンテキストと説明に関する追加情報が見つかりました。ここ

答え2

いいですね。上記の作業を完了したことを確認したいと思います。ソリューションはCentos 7でうまくテストされていますが、AWSインスタンスではテストされていません。

On your local server :
#Get the pub key
cat ~/.ssh/id_rsa.pub

リモートサーバーから:

mkdir -p /test/newuser/.ssh/
chmod 700 /test/newuser/.ssh/
touch /test/newuser/.ssh/authorized_keys
chmod 600 /test/newuser/.ssh/authorized_keys
echo << EOF > /test/newuser/.ssh/authorized_keys
# ADD here  your ~/.ssh/id_rsa.pub already generated
EOF 
usermod -d /test/newuser test
chown root:root /test
chown -R test:test /test/*
#Edit/etc/ssh/sshd_config to add the above : 
Match User test
        AuthorizedKeysFile /test/newuser/.ssh/authorized_keys

sshd_configの内容をリモートサーバーにコピーすることもできます。

grep -v '^#' /etc/ssh/sshd_config | sed '/^$/d'

関連情報