Bash가 인증에 사용 된 SSH 공개 키를 알려줄 수 있습니까?


14

root사용자 를 추적하고 싶다고 가정 해 보겠습니다 . 각각 고유 한 개인 키가 있으며 공개 키가에 저장되어 /root/.ssh/authorized_keys있습니다.

각 사용자가 고유 키로 로그인하면 BASH 세션에서 인증에 사용 된 키를 어떻게 알 수 있습니까? 로그인 할 때 환경 변수를 보려고했지만 내 세션과 내 공개 키와 관련이있는 것을 볼 수 없습니다.


약간 관련됨 : (openssh) sshd_config에서 LogLevel VERBOSE를 설정하면 로그인에 사용 된 키의 지문이 기록됩니다.
andol

답변:


21

~/.ssh/authorized_keys서버 의 공개 키에 사용자 이름을 추가하고 환경 값으로 내보낼 수 있습니다.

environment="REALUSER=realusername" ssh-dsa AAA...

그러면 환경 변수 REALUSER가 설정되어 bash에서 사용할 수 있습니다. 이 PermitUserEnvironment설정이 true로 설정된 경우에만 작동 합니다.sshd_config


우와 .. 정말? 멋있는! 당신은 의미 ~/.ssh/authorized_keys합니까? 나는 이것에 대해 전혀 몰랐다.
PP.

5
그렇습니다. 당신은 거기에 많은 흥미로운 것들을 할 수 있습니다- man ssh제목 아래에 더 많은 것을 말해 줄 것 AUTHORIZED_KEYS FILE FORMAT입니다.
Jenny D

4
버전에 따라 다를 수 있지만 섹션 man sshd을 찾으 려면 사용해야 했습니다 AUTHORIZED_KEYS FILE FORMAT.
Matthew Crumley

2
PermitUserEnvironment를 사용하면 보안에 영향을 미칩니다. 읽기 남자 sshd
Florin Andrei 1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.