SSH - ssh/known_host 파일에 호스트를 추가하는 방법

SSH - ssh/known_host 파일에 호스트를 추가하는 방법

Known_hosts 파일은 다음과 같습니다.

[localhost]:8001 ssh-dss AAAAB3NzaC1kc3MAAACBAP1/U4EddRIpU   
[10.18.60.198]:8001 ssh-dss AAAAB3NzaC1kc3MAAACBAP1/U4EddRIpUt9
// key are trimmed at the end

이 키는 Eclipse IDE를 통해 추가됩니다. 호스트(IP)와 해당 키를 ssh/known_hosts 파일에 추가하는 다른 방법이 무엇인지 알고 싶습니다.

구체적인 내용:- 추가 방법SSH-dssKnown_hosts 파일의 모든 호스트(IP)에 대한 키입니다.

편집하다:-

BRMS 프로젝트에 git을 사용하는 JBoss BRMS를 사용하고 있으므로 Git을 통해 Eclipse IDE에서 BRMS 프로젝트를 복제할 때 다음 오류가 발생합니다.

호스트 'localhost'의 신뢰성을 설정할 수 없습니다.
DSA 키 지문은 e2:2c:62 //잘랐습니다.
계속 연결하시겠습니까?

그런 다음 ssh-dss 키를 Known_hosts 파일에 자동으로 추가합니다.

그렇다면 해당 키를 찾아서 Knownhosts 파일에 수동으로 추가할 위치는 어디입니까?

답변1

형식은 ~/.ssh/known_hostsOpenSSH에 의해 정의됩니다. 다른 소프트웨어는 OpenSSH(SSH명령) 또는 반드시 100% 호환되지 않는 자체 구현이 있을 수도 있습니다.

OpenSSH Known_hosts 형식은 다음에 설명되어 있습니다.sshd(8) 매뉴얼 페이지, "ssh_known_hosts 파일 형식" 아래에 있습니다. 호스트-키 쌍당 한 줄이 포함된 텍스트 파일이라고 나와 있습니다.

이 파일의 각 줄에는 마커(선택 사항), 호스트 이름, 키 유형, base64 인코딩 키, 주석 필드가 포함되어 있습니다. 필드는 공백으로 구분됩니다. [...] 호스트 이름은 쉼표로 구분된 패턴 목록입니다(' *' 및 ' ?'는 와일드카드 역할을 함). 각 패턴은 차례로 호스트 이름과 일치됩니다. [...] 호스트 이름이나 주소는 선택적으로 ' [' 및 ' ' 대괄호 로 묶인 다음 ' ' 및 비표준 포트 번호가 ]뒤에 올 수 있습니다.:

새 호스트에 대한 키를 자동으로 추가하려면 해당 호스트에 SSH를 사용하면 됩니다.

새 호스트에 대한 키를 수동으로 추가하려면 1) 텍스트 편집기에서 Known_hosts 파일을 열고 2) 동일한 형식에 따라 새 호스트에 대한 키를 추가합니다. (키는 연결하려는 호스트와 일치해야 합니다. 를 사용하여 호스트에 키를 쿼리할 수 있습니다 ssh-keyscan -t <type> <address>.)

키를 추가하려면모두호스트의 경우 *모든 호스트 이름 및 주소와 일치하는 패턴을 호스트 이름으로 사용합니다. 모든 호스트에 대한 키를 추가하려면특정 포트에서, [*]:8001호스트 이름으로 사용합니다.

답변2

예를 들어 다음을 추가해야 합니다.127.0.0.1알려진 호스트에:

ssh-keyscan -H 127.0.0.1 >> ~/.ssh/known_hosts

Docker 파일의 경우 다음을 사용합니다.

RUN apt-get update  \
    && apt-get install -y \
    ssh \
    && rm -rf /var/lib/apt/lists/* \
    && mkdir -p ~/.ssh/ \
    && ssh-keyscan -H 192.168.12.31 >> ~/.ssh/known_hosts

어디에 apt-get install -y ssh- 사용 가능하게 만들기SSH 키 스캔명령줄에서 rm -rf /var/lib/apt/lists/*- 다운로드한 패키지 정보를 apt로 정리합니다.

답변3

대상에 SSH를 통해 연결한 후 키를 저장하라는 메시지가 나타나면 yes를 입력하세요.

관련 정보