同じホームディレクトリを持つ複数のchrootユーザーの認証キー

同じホームディレクトリを持つ複数のchrootユーザーの認証キー

OpenSSH_5.3p1を使用してCentOS 6.9を実行し、同じホームディレクトリ(htdocsにインストールされている)を持つ外部ユーザー用のchrootアカウントを作成しています。問題は、ファイルが.ssh/authorized_keys2最初のユーザーの所有であることです(そしてこれはすでに機能しています)。他のユーザーも利用できるようにするにはどうすればよいですか?

AuthorizedKeysFilesshd_configに複数のファイルパスを追加しようとしましたが、エラーが発生しましたgarbage at end of line

2番目のユーザーの一致ブロックをAuthorizedKeysFile追加しようとしましたが、sshd_configエラーが発生しました'AuthorizedKeysFile' is not allowed within a Match block

ホームディレクトリを変更できません。そうしないと、パスが実際の開発パスと異なるためです。

この問題を解決する方法について提案がありますか? OpenSSHを複数のアイテムをサポートする新しいバージョンにアップグレードする必要がありますかAuthorizedKeysFile(rpmでビルドする必要がありますか?)将来のセキュリティアップデートはどうなりますか?

答え1

1つのオプションは、トークンを使用して各ユーザーに一意のauthorized_keysファイルを提供することです。

~からsshd_config:

AuthorizedKeysFile

ユーザー認証に使用できる公開鍵を含むファイルを指定します。フォーマットはAUTHORIZED_KEYS FILE FORMATセクションで説明されていますsshd(8)AuthorizedKeysFile%T接続設定中に置き換えられたトークン形式を含めることができます。。次のタグが定義されます。%%text に置き換えられ%%h認証されるユーザーのホームディレクトリに置き換えられ、%uこのユーザーのユーザー名に置き換えます。。拡張後、AuthorizedKeysFile絶対パスまたはユーザーホームディレクトリへの相対パスとして扱われます。複数のファイルをスペースで区切って一覧表示できます。または、noneファイル内のユーザーキーの確認をスキップするようにこのオプションを設定できます。デフォルト値はです.ssh/authorized_keys .ssh/authorized_keys2

私の強調。

したがって、以下を設定できます。

AuthorizedKeysFile    .ssh/%u_authorized_keys

次に、ユーザー用のファイルを作成しfooます。authorized_keys.ssh/foo_authorized_keys

権限に関する注意事項

~から国民:

~/.ssh/authorized_keys
...
他のユーザーがファイル、ディレクトリ、~/.sshまたはユーザーのホームディレクトリに書き込める場合は、権限のないユーザーがファイルを変更または置き換えることができます。この場合、sshdはこのStrictModes オプションをに設定しない限り使用を許可しませんno

したがって、キーを外部に置いたり.ssh/設定したりするStrictModes必要があるかもしれませんno。他のユーザーが他の人のためのキーを生成したり、他のユーザーの認証されたキーを削除できないように設定した場合StrictModes。おそらく次のようにする方が良いでしょう。noauthorized_keys

AuthorizedKeysFile    .ssh_%u/authorized_keys

.ssh_foo/ユーザーの読み取り/書き込みfoo専用ディレクトリを作成します。foo


.ssh/authorized_keys許可するかどうかを選択できます。

AuthorizedKeysFile    .ssh/authorized_keys    .ssh_%u/authorized_keys

これにより、「一般」形式は引き続き機能し、authorized_keysファイルauthorized_keysは正しい権限を持つユーザーが所有する必要があります。それ以外の場合は無視されます。他のユーザーのためにファイルを作成しないことを考えると、authorized_keysこれはファイルをrootとしてタッチしてファイルを空白のままにすることを意味します。

関連情報