SSH known_hosts 파일을 공개하면 보안 위험이 있습니까?


32

다음 주 회의에서 내가 만든 일부 소프트웨어 도구에 대해 이야기하고 있습니다. 프레젠테이션 중에 내 노트북이 프로젝터 화면에 표시됩니다. 프리젠 테이션은 비디오 녹화되어 YouTube에 게시됩니다. 어떤 이유로이 ~/.ssh/known_hosts프레젠테이션 중에 파일 을 열고 편집 할 수있는 경우 프로젝터를 분리하는 동안 프로젝터를 분리해야합니까? known_hosts 파일을 공개하면 보안 위험이 있습니까?


7
known_hosts프레젠테이션 중에 실제 를 가짜 것으로 바꾸는 것이 어떻습니까?
Sven

1
... 또는 처음에 호스트 지문을 확인하지 않으면 ssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@host지문 질문을 우회하고 기존 known_hosts에 대한 확인을 피하는 것과 같은 방법 을 사용 하십시오.
Lekensteyn

@도 known_hosts 파일은 프리젠 테이션 자체의 일부가 아니며, 내가 시연하는 소프트웨어가 가끔 known_hosts를 편집해야한다는 것입니다. 청중은 이것을 볼 필요가 없습니다 (여기서 여러 의견자가 제안한 것처럼 블라인드 편집을 사용할 것입니다).하지만 가짜 known_hosts 파일을 편집하면 내 목표를 달성하지 못합니다.
Matt Korostoff

답변:


43

known_hosts 파일에는 과거에 연결 한 호스트에 대한 신뢰할 수있는 공개 키가 포함되어 있습니다. 이 공개 키는 이러한 호스트에 연결하려고하면 간단히 얻을 수 있습니다. 따라서 보안 위험 자체는 없습니다.

그러나 : 연결 한 호스트 기록이 포함되어 있습니다. 정보는 예를 들어 잠재적 공격자가 조직 인프라를 차지하는 공간에 사용될 수 있습니다. 또한 잠재적 인 공격자에게 특정 호스트에 대한 액세스 권한이 있으며 랩톱을 도용하면 액세스 권한을 부여 할 수 있음을 알립니다.

편집 : known_hosts 파일을 표시하지 않으려면 ssh-keygen유틸리티 를 사용하는 것이 좋습니다 . ssh-keygen -R ssh1.example.org예를 들어 ssh1.example.orgknown_hosts에서 신뢰할 수있는 키를 제거합니다 .


15

이것에 대해 특별히 위험한 것은 없습니다. 그러나이 식별 정보를 공개하지 않을 수 있습니다. 때때로 주인의 존재는 성향이있는 사람들에게 좋은 공격 선을 보여줍니다. 당신은 사용할 수 있습니다HashKnownHosts 하거나 보지 않고 파일을 편집 할 수 있습니다.


블라인드 편집 :
sed -i 25d .ssh/known_hosts내용을 화면에 표시하지 않고 25 행을 삭제합니다.

HashKnownHosts
ssh (1)가 ~ / .ssh / known_hosts에 추가 될 때 호스트 이름과 주소를 해시해야 함을 나타냅니다. 이러한 해시 이름은 ssh (1) 및 sshd (8)에서 정상적으로 사용할 수 있지만 파일의 내용이 공개되어야하는 식별 정보는 공개하지 않습니다. 기본값은 "아니오"입니다. 알려진 호스트 파일의 기존 이름과 주소는 자동으로 변환되지 않지만 ssh-keygen (1)을 사용하여 수동으로 해시 될 수 있습니다.


4
행 번호를 수동으로 계산하고 sed로 제거하는 대신을 사용할 수도 있습니다 ssh-keygen -R example.com.
Lekensteyn

4
ssh-keygen -H -f ~/.ssh/known_hosts파일의 모든 이름 / 주소를 해시 하는 데 사용할 수도 있습니다 .
Barmar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.