배경

배경

배경

엔터프라이즈 작업 예약에 사용되는 Jenkins 서버가 있습니다. 다음 쉘 스크립트를 실행하는 작업이 있습니다

#!/bin/bash -xe

ssh -o ServerAliveInterval=10 insidetk@albrl1 "Rscript /home/insidetk/PRIORITIZATION/Analytics_Modal.R" 

보시다시피 ssh 명령은 IdentityFile을 지정하지 않습니다. 그래서 Known_host 파일에 저장된 키를 사용해야 한다고 추론했습니다.

스크립트를 실행하는 상자에서 $HOME/.ssh/known_host및 파일 /etc/ssh/ssh_known_hosts에 키가 있는 것을 볼 수 있습니다. 그러나 이러한 파일에는 말 그대로 수천 개의 다양한 작업에서 가져온 수천 개의 키가 있습니다.

노력하다

위 파일에서 사용자를 검색하려고 합니다.내부 지식, 상자의 IP 주소, 상자의 호스트 이름 등을 검색하여 이 파일에서 키를 찾으려고 합니다. 그러나 이러한 문자열은 이러한 파일에 나타나지 않습니다.

SSH 로그를 어디에서나 찾을 수 없고 Journalctl이 설치되어 있지 않습니다.

질문

이 ssh 명령에서 사용되는 키를 어떻게 식별할 수 있습니까?

답변1

ssh다음을 대화형으로 실행하여 자세한 출력을 활성화할 수 있습니다 .

ssh -v insidetk@albrl1

그러면 다음과 같은 선을 발견할 수 있을 것입니다.

debug1: Offering public key: /home/<user>/.ssh/id_rsa RSA SHA256:<key's fingerprint>
debug1: Server accepts key: /home/<user>/.ssh/id_rsa RSA SHA256:<key's fingerprint>

관련 정보