샘플 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
따라서 (원격) 사용자 이름을 확장하여 파일을 찾으면 됩니다.
유사한 태그는 다른 많은 상황에서도 사용됩니다.