OpenSSH_5.3p1を使用してCentOS 6.9を実行し、同じホームディレクトリ(htdocsにインストールされている)を持つ外部ユーザー用のchrootアカウントを作成しています。問題は、ファイルが.ssh/authorized_keys2
最初のユーザーの所有であることです(そしてこれはすでに機能しています)。他のユーザーも利用できるようにするにはどうすればよいですか?
AuthorizedKeysFile
sshd_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
。おそらく次のようにする方が良いでしょう。no
authorized_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としてタッチしてファイルを空白のままにすることを意味します。