SSH 키 인증에 대해 읽고 집에 있는 컴퓨터 3대에 설정하는 중입니다.
저는 "A"라는 메인 컴퓨터 한 대와 "B"와 "C"라는 두 대의 다른 컴퓨터를 가지고 있습니다.
이제 내가 읽은 문서에 따르면 B와 C에서 ssh-keygen을 실행하고 컴퓨터 A에 공개 키를 넣을 것입니다. 이때 항상 SSH를 통해 컴퓨터 A에 연결되어 있다고 가정합니다. B 또는 C).
그러나 내가 읽은 문서 예제에서는 다른 외부 컴퓨터와 함께 사용되는 가정용 컴퓨터가 하나만 있다고 가정합니다. 내 경우에는 한 시스템에서 ssh-keygen을 실행하고 파일을 다른 시스템에 복사하는 것이 합리적입니까? 그러면 키 세트 하나만 백업하면 되나요? 외부 컴퓨터에 로그인할 때 세 대의 컴퓨터를 모두 사용하는 대신 하나의 키 세트로만 설정하면 됩니다.
이게 말이 돼? 고려해야 할 함정이나 주의 사항이 있나요?
감사해요.
답변1
이론적으로는 두 가지 방법 모두 가능하지만 각각 장단점이 있습니다.
실제로는 키를 생성하여 (개인으로서) "귀하의 것"이라고 말하고, 어딘가에 보안을 설정하고 사용하는 컴퓨터에 복사만 할 수 있습니다. 장점은 SSH 개인 키가 있으면 어디에서나 A에 연결할 수 있다는 것입니다. 단점은 어떤 방식으로든 개인 키를 한 곳에서 다른 곳으로 복사할 때마다 연결을 도청하는 사람이 이를 읽을 위험이 높아진다는 것입니다. 더 나쁜 것은 컴퓨터 C를 도난당한 경우 해당 키를 사용하는 모든 컴퓨터에서 새 키를 다시 생성하고 새 키를 배포해야 한다는 것입니다.
반면에 사용자@컴퓨터당 하나의 키를 사용하면 "무엇"이 "어디"에 연결될 수 있는지에 대한 "세밀한 제어"가 더 가능하다는 장점이 있습니다. 이것이 가장 일반적인 접근 방식입니다.
예를 들어, 컴퓨터 C를 형제/자매/아내/남편/친구/개 또는 도둑에게(승인 없이) 제공하려는 경우 간단히 A의 "authorized_keys" Documentable에서 키를 삭제하면 됩니다.
따라서 "authorized_keys에 더 많은 키가 있음"을 의미하더라도 두 번째 접근 방식을 권장합니다.
답변2
세 대의 컴퓨터 모두에서 동일한 키를 사용하는 것은 확실히 가능합니다. 저는 주로 편의를 위해 항상 그렇게 합니다.
Kwaio는 이로 인해 열쇠가 도난당할 위험이 높아진다는 점을 정확하게 지적했습니다. 한 가지 가능한 해결책은 개인 키 부분과 공개 키 부분을 분리하는 것입니다. 그래서:
- 모든 컴퓨터에는 Authorized_keys 파일에 공개 키가 있습니다.
- 개인 키 사본 2개를 보관합니다. 하나는 목에 걸고 있는 USB 스틱(다른 컴퓨터에 SSH로 연결할 때 사용)에, 다른 하나는 안전한 곳에(분실할 경우를 대비해) USB 스틱에 보관합니다.
컴퓨터 중 하나가 도난당했거나 공개 키가 손상된 경우, 이는 단지 공개 키일 뿐이므로 어떻게 될까요?
개인 키를 도난당하거나 분실한 경우 즉시 새 키 쌍 생성을 시작하고 모든 컴퓨터에서 공개 키를 업데이트해야 합니다.
HTH.