/home/XXX/.ssh/known_hosts
SSH에 대한 깊은 이해가 없고, (또는 ~/.ssh/known_hosts
)과 파일 /etc/ssh/ssh_known_hosts
의 관계에 대해 조금 혼란스럽습니다 .
누군가 이것을 설명할 수 있나요?
답변1
known_hosts
홈 디렉토리의 파일은 ssh가 각 새 서버의 ID를 자동으로 저장하는 곳입니다.너입장. known_hosts
물론 다른 사용자도 자신의 파일을 갖게 됩니다.
의 파일은 /etc
수동으로만 쓸 수 있고 시스템의 모든 사용자가 공유한다는 점을 제외하면 동일합니다.
이 파일의 일반적인 용도 /etc
는 시스템 관리자가 조직 내 모든 서버의 ID를 입력하는 것입니다. 이렇게 하면 각 사용자가 로컬 리소스에 처음 액세스할 때 "예"라고 대답할 필요가 없으며 더 중요한 것은 보안이 향상된다는 것입니다.
이 파일의 목적은 known_hosts
마지막으로 연결했던 것과 동일한 서버에 연결되어 있는지 확인하여 중간자 공격을 방지하는 것입니다(DNS 해커 등이 비밀리에 교체한 것은 아닙니다). 약점은 known_hosts
다음과 같은 경우 중간자(man-in-the-middle)를 감지할 수 없다는 것입니다.첫 번째당신은 연결합니다. /etc
관리자는 알려진 좋은 서명으로 파일을 미리 채워서 사용자가 엿보는 눈으로부터 안전하도록 할 수 있습니다.
답변2
~/.ssh/known_hosts
알려진 호스트 키의 시스템 전체 목록에 아직 포함되지 않았지만 사용자가 로그인한 모든 호스트에 대한 호스트 키 목록이 포함되어 있습니다. 이 파일 형식에 대한 자세한 내용은 sshd(8)를 참조하십시오.
...
/etc/ssh/ssh_known_hosts
알려진 호스트 키의 시스템 전체 목록입니다. 이 파일은 조직의 모든 컴퓨터에 대한 공개 호스트 키를 포함하도록 시스템 관리자가 준비해야 합니다. 전 세계에서 읽을 수 있어야 합니다. 이 파일 형식에 대한 자세한 내용은 sshd(8)를 참조하십시오.
답변3
/etc/ssh/ssh_known_hosts
파일에는 $HOME/.ssh/known_hosts
알려진 모든 호스트의 호스트 공개 키가 포함되어 있습니다. 전역 파일은 관리자가 선택적으로 준비해야 하며 사용자별 파일은 자동으로 유지 관리됩니다. 사용자가 알 수 없는 호스트에 연결할 때마다 해당 사용자의 키가 사용자별 파일에 추가됩니다.