Linux와 커맨드 라인 기초
자신의 PC에서 ssh-keygen을 사용하여 공개 키 인증용 키 쌍을 만들고, 서버 server1에 비밀번호 없이 ssh로 접속할 수 있게 하고 싶다. 키를 두는 방법으로 올바른 것은?
- A개인 키를 서버의 ~/.ssh/authorized_keys에 추가하고, 공개 키는 자신의 PC에만 둔다
- B공개 키와 개인 키를 모두 서버의 ~/.ssh에 두고, 자신의 PC에는 아무것도 남기지 않는다
- C공개 키를 서버의 ~/.ssh/authorized_keys에 추가하고, 개인 키는 자신의 PC 밖으로 내보내지 않는다
정답과 해설 보기
정답: C. 공개 키를 서버의 ~/.ssh/authorized_keys에 추가하고, 개인 키는 자신의 PC 밖으로 내보내지 않는다
SSH의 공개 키 인증에서는 서버가 authorized_keys에 등록된 공개 키를 사용하여, 접속해 온 쪽이 그에 대응하는 개인 키를 가지고 있음을 확인합니다. 개인 키 자체는 보내지지 않으므로, 개인 키는 자신의 PC에만 두고 다른 사람이 읽지 못하도록 권한을 600 등으로 하며, 패스프레이즈로 보호해 둡니다. 공개 키(~/.ssh/id_ed25519.pub 같은 .pub 파일)는 알려져도 문제가 없으며, ssh-copy-id를 사용하면 서버의 authorized_keys에 추가할 수 있습니다. 같은 키는 ssh 위에서 동작하는 scp나 rsync로 파일을 전송할 때에도 사용됩니다.