인증에 사용 된 공개 키를 OpenSSH에 기록 할 수 있습니까?


27

여러 사람이 단일 계정에 로그인 할 수있는 프로덕션 시스템이 있습니다. 프로덕션 서버에는 개인 계정이 없기 때문에 계정은 응용 프로그램 용이며 계정은 아닙니다.

감사 목적으로 누가 몇시에 로그인했는지 알 수 있기를 원하며 SSH 키를 사용하여 로그인 할 때 추적하는 것이 논리적 인 것처럼 보입니다 (추적 할 다른 식별자가 없기 때문에).

SSH는 사용자를 인증 할 때 사용자 이름을 시스템의 보안 로그에 기록하지만, 로그인에 사용 된 인증 된 공개 키를 기록하지 않습니다. OpenSSH가 어떤 공개 키를 사용했는지보고 할 수 있습니까? 아니면 해당 키와 관련된 주석입니까?

사용중인 운영 체제는 CentOS 5.6이지만 다른 운영 체제에서도 가능하다면 듣고 싶습니다.

답변:


33

/ etc / sshd / sshd_config에서 LogLevel을 VERBOSE로 올리면 사용자 인증에 사용 된 공개 키의 지문이 기록됩니다.

LogLevel VERBOSE

다음과 같은 메시지가 나타납니다.

Jul 19 11:23:13 centos sshd[13431]: Connection from 192.168.1.104 port 63529
Jul 19 11:23:13 centos sshd[13431]: Found matching RSA key: 54:a2:0a:cf:85:ef:89:96:3c:a8:93:c7:a1:30:c2:8b
Jul 19 11:23:13 centos sshd[13432]: Postponed publickey for user from 192.168.1.104 port 63529 ssh2
Jul 19 11:23:13 centos sshd[13431]: Found matching RSA key: 54:a2:0a:cf:85:ef:89:96:3c:a8:93:c7:a1:30:c2:8b
Jul 19 11:23:13 centos sshd[13431]: Accepted publickey for user from 192.168.1.104 port 63529 ssh2

당신이 사용할 수있는

 ssh-keygen -lf /path/to/public_key_file

특정 공개 키의 지문을 가져옵니다.


2
감사! authorized_keys파일 에 대해 키 지문을 확인해야 (p="$(mktemp)";cat ~/.ssh/authorized_keys|while IFS="$(printf "\n")" read key; do echo $key > $p; ssh-keygen -lf $p; done; rm -f $p)
Guss

SSH가 각 로그인마다 키를 두 번 기록한다는 사실을 알았습니다. 키를 한 번 기록하는 이유와 방법은 무엇입니까?
거스

왜, 그것은 내가 잘 모르는 세부 수준입니다. 아마도 소스 코드를 파헤 치지 않고도 중단시킬 수 있습니다.
user9517은 GoFundMonica를 지원합니다.

2
이 스레드 는 관련성이 있습니다. 일치하는 키를 두 번 찾습니다. 한 번은 키의 허용 여부를 결정한 다음 클라이언트가 제공하는 서명을 확인하는 두 번째 시간입니다.
mpontillo

3

사람들이 ssh-agent를 사용하는 경우 .bashrc에 넣을 수 있습니다.

SSH_KEY_NAME=$(ssh-add -L | cut -d' ' -f 3 || 'unknown')
if [[ ! $SSH_KEY_NAME ]]; then SSH_KEY_NAME="no agent"; fi
echo `/bin/date` $SSH_KEY_NAME >> ~/.login.log

유감스럽게도, 이것을 기록하고 싶은 이유 중 하나는 기록하려는 사용자에 대해 authorized_keys 명령을 사용하고 있으며 일반적으로 bash 쉘을 얻지 않기 때문입니다.
거스

0

LogLevel매개 변수를 가지고 놀아보십시오 sshd_config. 자세한 내용은 man sshd_config


0

3
서버 결함에 오신 것을 환영합니다! 일반적으로 우리는 사이트에서 스스로 답변을 얻을 수있는 답변을 좋아합니다. 자세한 내용을 포함하려면 답변을 수정하십시오. 자세한 내용은 FAQ 를 참조하십시오.
slm 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.