실제로 로그인한 사용자의 공개 키 지문을 가져와 어느 사용자가 루트로 로그인했는지 식별하고 싶습니다. 그러면 "/root/[FINGERPRINT]/와 같은 하위 폴더에 각 사용자에 대한 bashrc를 만들 수 있습니다. bashrc". 어떻게 해야 하나요? 우리는 sudo를 사용하고 싶지 않습니다! ! ! !
sshd의 LogLevel을 VERBOSE로 전환하면 auth.log/sercure에서 지문을 볼 수 있지만 도움이 되지 않을 것 같습니다.
우리는 CentOS 6/7/8을 사용하고 있습니다
답변1
질문에 답하십시오(다른 사람들이 이것이 바람직한지에 대해 언급했습니다).
environment="RUSER=Chris"
Chris의 키 앞에, environment="RUSER=Pete"
Pete의 키 앞에 오도록 ~root/.ssh/authorized_keys를 변경합니다 . 선은 다음과 같아야합니다
environment="RUSER=Pete" ssh-rsa AAAAB[snipped] pete@somewhere
다음 줄을 포함하도록 sshd 구성 파일(일반적으로 /etc/ssh/sshd_config)을 편집합니다.
PermitUserEnvironment yes
환경 처리를 활성화합니다. sshd
다시 읽는 구성 파일을 가져옵니다 (저는 ps -ef | grep sshd\ -D
PID를 찾은 다음 이를 사용하여 kill -HUP PID
데몬이 파일을 다시 읽도록 했습니다.
이 시점에서 ssh를 통해 로그인하면 RUSER
로그인에 사용할 키를 결정하는 데 사용할 수 있는 환경 변수가 있습니다.
이제 환경 변수를 설정할 수 있으므로 쉘 시작 파일을 주의 깊게 검토하여 환경 변수의 예상치 못한 값이 바람직하지 않은 효과를 유발하지 않는지 확인해야 합니다.
이 정보는 다음 위치에 있습니다.SSHD(8)매뉴얼 페이지의 AUTHORIZED_KEYS 파일 형식 섹션.