다른 소스에서 공개 키를 확인하는 SSH 서버


2

키 인증을 사용하는 ssh 연결에서 사용자는 사용하려는 공개 키의 ID를 보냅니다. 그런 다음 서버는 authorized_keys 파일에서 공개 키를 확인합니다.

서버가 authorized_keys 파일에서 해당 ID를 찾지 않고 사용자 이름을 사용하여 다른 소스 (예 : 데이터베이스, 다른 파일, 원격 서버 등)에서 키를 검색하려고합니다.

그렇게 할 수 있습니까?

답변:


2

파일 경로 를 변경하려면 sshd_config 에서 AuthorizedKeysFile 옵션을 지정할 수 있습니다 (서버가 OpenSSH를 실행한다고 가정). 사용자의 홈 디렉토리를 기준으로 여러 경로를 제공하거나 %u사용자 이름 으로 확장하여 절대 경로를 제공 할 수 있습니다 .

예를 들어, 기본 authorized_keys 위치를 유지하고 / etc에 파일을 추가하려면 다음을 수행하십시오.

AuthorizedKeysFile  .ssh/authorized_keys  /etc/ssh/users/%u.txt

서버가 OpenSSH 6.2 이상 을 사용하는 경우 외부 명령 을 사용하려면 서버의 sshd_config 파일에서 AuthorizedKeysCommand 를 지정 하여 사용자 정의 프로그램 또는 스크립트를 가리킬 수 있습니다.

이 프로그램은 모든 로그인에서 실행되며 사용자 이름을 명령 줄 매개 변수로 받고 stdout을 통해 해당 사용자의 키 목록 (authorted_keys와 동일한 형식을 사용하여)을 출력해야합니다.

예를 들어 LDAP를 사용하는 경우 SSSD LDAP 클라이언트에는 sss_ssh_authorizedkeys사용자의 sshPublicKey 속성에서 키를 검색 하는 도구가 이미 포함되어 있습니다.

AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
AuthorizedKeysCommandUser nobody
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.