ssh-keyscan 명령의 -H는 어떻게 작동합니까?

ssh-keyscan 명령의 -H는 어떻게 작동합니까?

ssh-keyscan-H옵션 에 대한 명령은 다음과 같습니다.

이것은 보여준다

 -H      Hash all hostnames and addresses in the output.  Hashed names may be used normally
         by ssh and sshd, but they do not reveal identifying information should the file's
         contents be disclosed.

나는 그 아이디어나 목적을 이해하지 못합니다. 이것이 이 글의 이유입니다. 그 목적을 설명해 주시겠습니까?

나는 두 개의 다른 호스트에 대해 if가 실행된다는 것을 깨달았습니다.

# Pair I
ssh-keyscan 192.168.1.x
ssh-keyscan 192.168.1.y

# Pair II
ssh-keyscan -H 192.168.1.x
ssh-keyscan -H 192.168.1.y

이것첫 번째쌍: 각 IP에 대해 각 공개 키의 출력은 dsa, ecdsa, ed25519및 로 표시된 키 유형과 함께 표시됩니다 rsa.

이것두번째쌍: 각 IP에 대해 각 공개 키에 대한 출력을 표시하고 키 유형을 및로 표시합니다. dsa, ecdsa, ed25519- rsa그러나 각 키의 시작 부분에는 |1|임의의 텍스트와 함께 텍스트를 입력합니다.

질문:

  • 명령에서 어떻게 -H작동 합니까 ssh-keyscan?

추가 질문

  • 언제 필수인가요 -H?
  • 무엇인가요|1| 임의의 텍스트와 함께의미는?

기억하다,|1| 임의의 텍스트와 함께각 키 유형에 대해 하나씩 두 개의 서로 다른 호스트의 출력에 나타납니다. 그래서 우연은 아닌 것 같아요

노트

보안상의 이유로 출력을 공유하지 않겠습니다.

답변1

단방향 해싱은 공격자가 파일을 획득한 경우 known_hostsSSH를 통해 액세스 중인 호스트를 알기 어렵게 만드는 수단으로 홍보됩니다. 내용은 다음과 같습니다 ssh_config(5).

 HashKnownHosts
         Indicates that ssh(1) should hash host names and addresses when
         they are added to ~/.ssh/known_hosts.  These hashed names may be
         used normally by ssh(1) and sshd(8), but they do not visually re-
         veal identifying information if the file's contents are dis-
         closed.  The default is no.

공격자가 다른 대상 호스트를 찾거나 정치적으로 부적절한 시스템에 연결했다는 사실을 누군가가 알기가 더 어려워질 수 있으므로 "좋은 모호함"을 지향하지만 이는 모호함을 통한 보안입니다. 이 정보를 찾을 수 있는 다른 방법(방화벽 로그, 네트워크 트래픽 기록, DNS 등)이 있지만, 쉽게 읽을 수 있는 해시되지 않은 텍스트 파일은 공격자에게 매우 유용하지만, 다른 방법은 사용할 수 없거나 시간이 오래 걸릴 수 있습니다.

(더 나은 "심층 방어"를 위해 디스크를 암호화해야 할 수도 있지만, 애플리케이션 취약점으로 인해 마운트된 파일 시스템에 대한 직접 액세스가 허용되거나 화면이 잠금 해제된 것을 발견한 경우에는 도움이 되지 않습니다.)

관련 정보