두 호스트 간에 비밀번호 없는 키 기반 로그인이 작동하는 방식 이해

두 호스트 간에 비밀번호 없는 키 기반 로그인이 작동하는 방식 이해

두 호스트 간에 비밀번호 없는 키 기반 로그인을 활성화해야 하는데 이것이 실제로 어떻게 작동하는지 이해할 수 없습니다. 그래서 내 개념을 명확히 해줄 조타수를 찾고 있습니다.

나는 host1으로 로그인되어 있습니다 user1. 이제 여기에서 원격으로 실행할 계획입니다 host2.

[user1@host1 ~]$ ssh user2@host2 pwd
The authenticity of host 'host2 (***.***.***.*)' can't be established.
ECDSA key fingerprint is SHA256:******************.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'host2,***.***.***.*' (ECDSA) to the list of known hosts.
user2@host2's password:

여기서 내가 혼란스러워하는 것은 비밀번호 없는 로그인을 활성화하는 것입니다 user2@host2.

  1. 를 사용하면서 생성된 user1공개키 [ ~/.ssh/id_*.pub]를 아래 인증키에 추가해야 하나요 ? ,또는host1host2user1ssh/authorized_keyshost1user1
  2. 에서 생성된 user2공개키 [ ] 를 ~/.ssh/id_*.pub다음 host1인증키 에 추가해야 하나요 host2user1ssh/authorized_keys'? 또는
  3. user2생성된 공개키[ ~/.ssh/id_*.pub]를 아래 인증키에 추가해야 하나요 host1? 또는host2user2ssh/authorized_keys'

너무 기본적이거나 혼란스러운 질문이라면 죄송합니다. 제가 혼란스러워하는 부분을 최선을 다해 설명하겠습니다. 티아!

답변1

SSH 공개 키(비밀번호 없음)를 사용하여 로그인하면 무슨 일이 일어나고 있는지 제가 이해하고 있습니다.

  1. SSH에 사용할 개인/공개 키 쌍을 생성합니다. 예를 들어 ssh-keygen 명령 유틸리티를 사용합니다.

  2. 소스 PC에서 SSH 연결을 시작할 사용자만 액세스할 수 있는 소스 PC의 파일에 개인 키를 넣습니다. 귀하의 경우에는 호스트1의 ~user1/.ssh/id_ecdsa와 같은 파일에 넣을 수 있습니다.

  3. 대상 PC에 있기를 원하는 사용자가 액세스할 수 있는 대상 PC의 파일에 공개 키를 넣습니다. 귀하의 경우 호스트 2의 ~user2/.ssh/authorized_keys와 같은 파일에 넣습니다.

참고: 키 쌍과 사용자 사이의 유일한 연결은 해당 사용자의 ~/.ssh 디렉터리에 키를 배치하는 것입니다. 키 자체는 특정 사용자와 기능적으로 연결되어 있지 않습니다. 하지만 많은 경우에authorized_keys/id_*.pub 파일 줄 끝에 있는 주석을 보면 키가 특정 사용자에게 연결되어 있다는 인상을 줄 수 있습니다.

참고: 키 쌍은 유틸리티를 사용할 수 있는 어느 곳에서나 생성할 수 있습니다. 쌍은 소스 또는 대상 호스트에서 생성될 필요가 없습니다.

참고: 이는 비밀번호 없는 인증이 활성화된 경우 기본 설정일 수 있습니다.

관련 정보