Authorized_keys 파일 없이 공개 키 인증

Authorized_keys 파일 없이 공개 키 인증

Linux 서버에 SSH 공개 키 로그인이 많이 있습니다. 예를 들면 다음과 같습니다.

Jul 25 11:41:01 host sshd[24594]: Accepted publickey for root from xxx.xxx.xx.xx port 33374 ssh2

authorized_keys디렉토리에 파일이 없기 때문에 이것이 이상하게 보입니다 /root/.ssh. AuthorizedKeysFile옵션의 /etc/ssh/sshd_config기본값 은 입니다 .ssh/authorized_keys.

공개키 인증을 이용해 서버에 로그인하는 방법을 알고 싶습니다.

답변1

나는 무슨 일이 일어나고 있는지 알아 냈습니다. 메시지는 UDP를 통해 원격 호스트에서 서버에 도착합니다. 처음에는 호스트 필드가 변경되는 것을 눈치채지 못했습니다. 제 실수였습니다.

그건 그렇고 실제로 거기에 있습니다로그인은 공개 키 인증을 사용하여 수행할 수 있으며 authorized_keys관련 파일은 없습니다. RedHat(및 그 변형) AuthorizedKeysCommand에는 및 옵션을 추가하는 지원되는 OpenSSH 패치가 있습니다 AuthorizedKeysCommandRunAs. 패치가 업스트림에 병합되었습니다.오픈SSH 6.2. 에서 인용매뉴얼 페이지:

인증 키 명령

사용자의 공개 키를 찾는 데 사용되는 절차를 지정합니다. 프로그램은 첫 번째 인수(인증된 사용자 이름)로 호출되며 표준 출력에 AuthorizedKeys 줄을 생성해야 합니다(sshd(8)의 AUTHORIZED_KEYS 참조). AuthorizedKeysCommand는 기본적으로(또는 빈 문자열로 설정된 경우) 실행되지 않습니다. AuthorizedKeysCommand가 사용자에게 성공적으로 권한을 부여하지 못하면 권한 부여가 AuthorizedKeysFile로 전달됩니다. 이 옵션은 PubkeyAuthentication이 켜져 있는 경우에만 작동합니다.

인증키 명령 동작 모드

AuthorizedKeysCommand가 실행되는 계정의 사용자를 지정합니다. 빈 문자열(기본값)은 인증된 사용자를 사용함을 의미합니다.

관련 정보