SSHの%uとは何ですか?ディレクトリ構造でのみ機能しますか?

SSHの%uとは何ですか?ディレクトリ構造でのみ機能しますか?

サンプルのsshd設定ファイルを見ていましたが、次のような行が見つかりました。

AuthorizedKeysFile /etc/ssh/%u.authorized_keys  

%uがここで何を意味するのか疑問に思います。私はwww-user.authorized_keysという名前のファイルを探しています。 %uは、私が提供したログインIDに基づいてwww-userに拡張する必要があります。 /home/%u/authorized_keys などのフォルダがある場合にのみ、www-user に展開され、次に /home/www-user/authorized_keys に展開されます。しかし、/home/%u/%u.authorized_keysを提供した場合。ファイル名はwww-user.authorized_keysには拡張されません。これはopensshの既知の問題またはバグですか?以前はopensshバージョン6.xでは動作していましたが、バージョン7.xでは動作しないようです。私は何を逃したことがありませんか?

ベストアンサー1

%uシェルの機能ではなくトークン文書固有の説明sshd_config

からman sshd_config

TOKENS
     Arguments to some keywords can make use of tokens, which are expanded at
     runtime:

           %%    A literal ‘%’.
           %F    The fingerprint of the CA key.
           %f    The fingerprint of the key or certificate.
           %h    The home directory of the user.
           %i    The key ID in the certificate.
           %K    The base64-encoded CA key.
           %k    The base64-encoded key or certificate for authentication.
           %s    The serial number of the certificate.
           %T    The type of the CA key.
           %t    The key or certificate type.
           %u    The username.

%uしたがって、(リモート)ユーザー名を拡張してファイルを見つけます。

同様のタグは他の多くの状況でも使用されます。

おすすめ記事