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가 실행되는 계정의 사용자를 지정합니다. 빈 문자열(기본값)은 인증된 사용자를 사용함을 의미합니다.