짧은 질문
ssh-keygen -r hostname
기본 공개 키를 사용한다고 가정합니다 . 기본적으로는 그렇게 될 것이라고 생각했지만 ~/.ssh/id_rsa.pub
그렇지 않은 것 같습니다. 그래서 뭐예무엇을 하고 있나요?
긴 버전
OpenSSH 명령줄 유틸리티에 대한 내 경험에 따르면 사용자에게 누락된 매개변수를 묻는 메시지를 표시하거나 표준 기본값으로 돌아갑니다. 그러나 ssh-keygen -r
그것은 사실이 아닌 것 같습니다. ssh-keygen -r
공개 키(예: )를 지정하지 않고 명령을 실행하면 ssh-keygen -r hostname
다음과 같은 출력이 표시됩니다.
no keys found.
예를 들어 공개 키를 기본값으로 설정하고 싶습니다 . 그러나 이 공개 키를 명시적으로 전달하면(예 : ) 다음 형식의 출력이 표시되므로 ~/.ssh/id_rsa.pub
그렇지 않은 것 같습니다 .ssh-keygen -r hostname -f ~/.ssh/id_rsa.pub
hostname IN SSHFP 1 1 5d6c87ef4e8f4f59974f05723ff3dc0cffc9c4b4
hostname IN SSHFP 1 2 8fa151e7f3ba43fa89c240ab236f0313aea1fe9f9e9f4e5b8f084ca0008399ed
또한 매뉴얼 페이지에는 ssh-keygen
명령에 대한 다음 구문이 표시됩니다 ssh-keygen -r
.
ssh-keygen -r hostname [-f input_keyfile] [-g]
플래그 는 선택 사항으로 표시되므로 오류 메시지를 인쇄하는 것 외에 다른 작업을 수행 -f input_keyfile
하고 싶습니다 .ssh-keygen
ssh-keygen -r hostname
그렇다면 기본 공개 키로 사용되지 않고 사용자에게 공개 키를 지정하라는 메시지가 표시되지 않으면 ~/.ssh/id_rsa.pub
어떻게 될까요 ?예무엇을 하고 있나요? 기본적으로 다른 경로가 사용됩니까? 그렇다면 그 길은 무엇입니까?
노트:저는 macOS High Sierra(Mac OS X 버전 10.13.6)에서 OpenSSH 버전 7.6을 실행하고 있습니다.
답변1
ssh-keygen -r
생성하다SSHFP 레코드. 이건 네가 넣은 거야DNS 항목쇼라고 말해주인키는 호스트 이름에 해당합니다. 이를 통해 컴퓨터에 로그인하려는 사람은 DNS 레코드를 신뢰한다는 가정 하에 어떤 호스트 키가 필요한지 알 수 있습니다.DNSSEC).
ssh-keygen -r
따라서 컴퓨터의 호스트 키를 찾는 것은 자연스러운 일입니다 . 사용자 키에는 관심이 없습니다. 사용자 키를 강제로 읽으면 작동할 수 있지만 결과는 쓸모가 없습니다. ssh-keygen -r
보기 /etc/ssh_host_*_key.pub
또는 SSH 서버가 호스트 키를 찾도록 구성된 위치입니다. 컴퓨터에 SSH 서버가 설정되어 있지 않으면 SSHFP 레코드는 쓸모가 없으므로 ssh-keygen -r
키를 찾지 못하는 것은 문제가 되지 않습니다.