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따라서 (원격) 사용자 이름을 확장하여 파일을 찾으면 됩니다.

유사한 태그는 다른 많은 상황에서도 사용됩니다.

관련 정보