ssh-keyscan
명령 과 관련하여 -t
다음과 같이 options 와 함께 실행되는 경우:
ssh-keyscan -t ecdsa 192.168.1.X
다음과 같은 예상 데이터를 반환합니다.
# 192.168.1.X:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3
192.168.1.X ecdsa-sha2-nistp256 XxXxXxX...XxXxXxX
위에 표시된 명령은 동일한 LAN에 있는 6개의 다른 IP에서 테스트되었으며 모든 것이 잘 작동했습니다. 또한 ed25519
및 키 유형을 사용하여 rsa
동일한 성공적인 결과를 얻었습니다 . 예를 들면 다음과 같습니다.
ssh-keyscan -t ed25519 192.168.1.X
ssh-keyscan -t rsa 192.168.1.X
여기까지 -t
옵션은 -을 의미합니다.유형- 필터로서 잘 작동합니다. 이 시점에서 나는 이 옵션에 대해 명확하게 이해했습니다 -t
.
노트
필터가 없거나 키 유형이 표시되지 않습니다. 이 -t
옵션은 사용되지 않습니다. 따라서 다음과 같습니다.
ssh-keyscan 192.168.1.X
특정 IP에 대해 반환되는 데이터에는 3가지 키 유형이 포함됩니다.
이제 일부 튜토리얼에서 이 옵션에 대해 읽었 -t
지만 지금은 ~/.ssh/known_hosts
파일을 사용하고 있습니다.
이제 ~/.ssh/known_hosts
다음 명령을 사용하여 파일과 항목을 삽입했습니다.
ssh-keyscan -H 192.168.1.X >> ~/.ssh/known_hosts
이 -H
옵션을 살펴보세요. 호스트 이름/IP의 해시에서 작동합니다. 물론 동일한 LAN에 있는 6개의 다른 IP에 대해 동일한 명령이 6번 실행되었습니다.
다음 명령을 실행합니다.
ssh-keyscan -t <KEY> -f ~/.ssh/known_hosts
어디열쇠rsa
또는 ecdsa
또는 일 수 있습니다 .ed25519
출력은 다음과 같습니다(약 N 줄).
getaddrinfo |1|XxXxXxX=|XxXxXxX=: Name or service not known
...
getaddrinfo |1|ZzZzZzZ=|ZzZzZzZ=: Name or service not known
호스트 이름/IP가 해시되어 있기 때문에 이것이 예상되는 것 같습니다.내가 틀렸다면 정정해주세요.
현재 콘텐츠 유지그리고이 6개의 IP에 대해 동일한 콘텐츠를 다시 추가하되 해시는 제외합니다.
ssh-keyscan 192.168.1.X >> ~/.ssh/known_hosts
있음을 관찰하십시오.아니요옵션 -H
. 그런 다음 다음 명령을 실행하면:
ssh-keyscan -t ecdsa -f ~/.ssh/known_hosts
이제 두 청크의 데이터를 볼 수 있습니다.
하나
getaddrinfo |1|XxXxXxX=|XxXxXxX=: Name or service not known
이것이 예상된 것인지 확실하지 않습니다. 이전 콘텐츠가 여전히 파일에 있다는 점을 명심하세요. 따라서 위에 표시된 내용은 필터 요청과 일치하는 키 유형을 기반으로 한다고 가정합니다.다시한번 말씀드리지만 제가 틀렸다면 정정해주세요
둘(이것질문그리고 이 글을 쓴 이유)
For each IP appears all the keys
이론적으로는 다음을 기반으로 한 데이터만 볼 수 있습니다.거르는- -t
옵션을 통해 키 유형을 정의합니다.
질문
- 블록 2는 필터링해야겠죠? 무엇이 빠졌나요? 아니면 뭔가 문제가 있나요?
노트
이 튜토리얼에서 사용되는 명령은 다음과 같습니다.
ssh-keyscan -t <KEY> -f ~/.ssh/known_hosts | sort -u ~/.ssh/known_hosts
하지만 파이프라인 이전의 첫 번째 부분을 잘 이해하고 싶습니다( |
).