/etc/ssh/와 ~/.ssh의 차이점은 무엇입니까?

/etc/ssh/와 ~/.ssh의 차이점은 무엇입니까?

저는 OpenSSH에 관심이 있고 그 디렉토리가 특정 사용자를 위한 /etc/sshssh 데몬용이라는 것을 알고 있습니다 .~/.ssh

두 디렉터리 모두 개인 키와 공개 키를 포함합니다.

디렉토리 내용

그런데 이 키들의 차이점은 무엇인가요? 사용자로서 사용하는 키가 내 홈 디렉토리에 있고 에 있는 키의 목적이 무엇인지 혼란스럽습니다 /etc/ssh.

답변1

/etc/ssh시스템 구성을 제공합니다: 사용자의 기본 구성( /etc/ssh/ssh_config) 및 데몬의 구성( /etc/ssh/sshd_config). 데몬이 사용하는 다양한 호스트 파일 /etc/ssh: 여기에는 서버를 식별하는 데 사용되는 호스트 키가 포함되어 있습니다. 사용자가 키 쌍(홈 디렉토리에 저장됨)으로 식별되는 것처럼 서버는 키로 쌍을 식별합니다. 서버는 일반적으로 사례에 따라 RSA, ECDSA 및 Ed25519와 같은 여러 유형의 키를 제공하므로 여러 키 쌍이 사용됩니다. (사용자는 여러 개의 키를 가질 수도 있습니다.)

다양한 키 파일은 다음과 같이 사용됩니다.

  • 귀하의 개인 키(있는 경우)는 귀하가 연결하는 모든 서버에서 귀하를 식별하는 데 사용됩니다(연결하려는 계정의 서버 인증 키에 저장된 공개 키와 일치해야 함).
  • 서버의 개인 키는 클라이언트가 서버를 식별하는 데 사용됩니다. 이 ID는 서버에 저장되어 있으며 ~/.ssh/known_hosts, 서버의 키가 변경되면 SSH는 이에 대해 불만을 표시하고 중간자 공격을 완화하기 위해 특정 기능을 비활성화합니다.
  • 공개 키 파일은 원격 서버에 복사해야 하는 문자열을 저장합니다( ~/.ssh/authorized_keys). 직접 사용되지는 않습니다.
  • 서버의 공개 키 파일은 문자열을 저장합니다. 이 문자열은 알려진 호스트 목록에 복사하여 미리 채울 수 있으며 직접 사용되지도 않습니다.

마지막 부분은 자주 사용되지 않습니다. 기본 SSH 모델을 "TOFU"(처음 사용 시 신뢰)라고 합니다. 기본적으로 연결은 처음 사용할 때 신뢰되며 SSH는 예상치 못한 연결에만 관심을 갖습니다.다양성. 어떤 경우에는 첫 번째 연결을 신뢰하는 것이 유용할 수도 있습니다. 서버 운영자는 서버의 공개 키를 전달할 수 있고 사용자는 첫 번째 연결을 하기 전에 이 키를 알려진 호스트에 추가할 수 있습니다.

보다ssh_config그리고sshd_config자세한 정보( man ssh_config및 시스템에 대한)는 man sshd_config맨페이지를 참조하세요 . 알려진 호스트에 사용되는 형식은 다음에 설명되어 있습니다.sshd맨페이지.

답변2

/etc/ssh는 호스트(컴퓨터/운영 체제)의 개인 키와 공개 키 쌍을 저장합니다.

~/.ssh는 소유자 사용자의 키 쌍을 보유합니다.

대칭 키와 PKI의 작동 방식을 살펴보세요. 대부분의 경우 발신자와 수신자 모두 고유한 개인/공개 키 쌍이 필요합니다.

관련 정보