AuthorizedKeysFile
다음과 같은 경우를 포함하도록 명시적으로 설정할 수 있습니까 ?
- 표준 사용자의 경우
/home/%u/.ssh/authorized_keys
- 시스템 사용자 아래
/var/lib/%u/.ssh/authorized_keys
- 루트 사용자
/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에서 작동하게 할 수 없었습니다)