AuthorizedKeysFile
次のような場合を含めるように明示的に設定できますか?
- 標準ユーザーの場合
/home/%u/.ssh/authorized_keys
- システムユーザーの下
/var/lib/%u/.ssh/authorized_keys
- rootユーザー
/root/.ssh/authorized_keys
私の質問は、次に指定されたユーザーディレクトリを含む変数がありますか?ネームサービススイッチ?
答え1
.ssh/
ユーザーが実際のユーザーであるか、システムユーザーであるか、ルートであるかにかかわらず、ユーザーのホームディレクトリをデフォルトで使用できるようにすることを示しました。
あなたの質問から次のように推論しました。
私は変更してこの
/etc/ssh/sshd_config
問題を解決しようとしました。AuthorizedKeysFile ~/.ssh/authorized_keys
sshd
確認が進行中だったため失敗しました/root/.ssh/authorized_keys
。
早く見てみると手動sshd_config
次の内容が表示されます。
認証キーファイル
ユーザー認証に使用できる公開鍵を含むファイルを指定します。 AuthorizedKeysFileには、接続設定中に置き換えられる%T形式のトークンを含めることができます。次のトークンが定義されます。 %% はリテラル「%」に置き換えられます。%hは認証されているユーザーのホームディレクトリに置き換えられます。、%uはユーザーのユーザー名に置き換えられます。拡張されると、AuthorizedKeysFile は絶対パスまたはユーザーのホームディレクトリへの相対パスとして扱われます。デフォルトは「.ssh/authorized_keys」です。
私のデフォルト設定では、次の行をコメントアウトしました。
# AuthorizedKeysFile %h/.ssh/authorized_keys
これは(少なくともOpenSSHのUbuntuとDebianディストリビューションの場合)実際に基本的な設定を要求することを意味します!これは反対投票をする良い理由です。
答え2
@Tomaszによると、次のようにユーザーを一致させることができます。
# no match rule
AuthorizedKeysFile /home/%u/.ssh/authorized_keys
match User foo
AuthorizedKeysFile /special/authorized_keys.%u
match Group git
/var/lib/%u/.ssh/authorized_keys
より一般的なユーザーを最初に使用します。
人に会っssh_config
たり、人に会ったりsshd_config
(ところでchrootを使ってsles12で動作させることはできませんでした)