원격 서버에서 SSH 및 GnuPG 키 생성 주요 관리 모범 사례

원격 서버에서 SSH 및 GnuPG 키 생성 주요 관리 모범 사례

키 생성, 사용, 관리와 관련된 모범 사례에 대해 질문하고 있습니다.

여러 가지 이유로 여러 가지 이유로 SSH를 통해 직장의 원격 다중 사용자 서버(그리고 직장이나 집의 데스크톱 컴퓨터)에 로그인하는 동안 SSH 및 GnuPG 키를 생성했습니다.

새로 생성된 키의 암호 문구를 두드리는 동안 내가 로그인한 컴퓨터나 그 사이의 링크를 제어할 수 없다는 사실이 저를 놀라게 했습니다. 저는 직장의 시스템 관리자를 어느 정도 신뢰하며 SSH는 안전하지만 그럼에도 불구하고... 그런 링크를 통해 새로운 암호 문구를 보내는 것이 이상하게 느껴졌습니다.

어떻게 생각하나요? 로컬에서 키(SSH, GnuPG 또는 기타)를 생성한 다음 SSH를 통해 개인 키를 전송하는 것이 더 현명한가요? 아니면 제가 모든 것에 대해 편집증적인 것일까요?

또한 제가 약간 편집증적인 입장을 취하는 것이 맞다면 개인 키를 어디에 저장할지 어떻게 생각하시나요? 모두 물리적으로 한 장소에 있어야 합니까? gpg-agentand Always 를 많이 사용해야 합니까 ssh-agent?

저는 작업을 위해 SSH를 사용하여 몇 개의 별도 다중 사용자 서버에 로그인하는 두 개의 별도 컴퓨터에서 작업하고 있습니다. 나는 약 4개 위치(로컬 및 원격)에서 GnuPG를 사용하여 Git 커밋에 서명합니다.

저는 Mac OS X(MacPorts 포함)과 Linux 시스템(Pkgsrc 포함)을 혼합하여 작업하고 있지만 항상 명령줄에서 작업하고 있습니다.

답변1

어떻게 생각하나요? 로컬에서 키(SSH, GnuPG 또는 기타)를 생성한 다음 SSH를 통해 개인 키를 전송하는 것이 더 현명한가요? 아니면 제가 모든 것에 대해 편집증적인 것일까요?

적어도 시스템 관리자가 소프트웨어 스택을 조작하지 않은 경우에는 이것이 실제로 차이를 만들지 않습니다(그러나 어쨌든 개인 키를 확보해야 하는 이유는 무엇입니까?).

개인 키가 원격 시스템에 있는 한,차이 없음어떻게 거기까지 갔는지. 시스템 관리자는 이에 액세스할 수 있습니다. 암호는 입력에 대한 액세스도 얻을 수 있으므로 키를 얻는 데 추가적인 노력을 더할 뿐입니다.

또한 제가 약간 편집증적인 입장을 취하는 것이 맞다면 개인 키를 어디에 저장할지 어떻게 생각하시나요? 모두 물리적으로 한 장소에 있어야 합니까? 항상 gpg-agent와 ssh-agent를 많이 사용해야 합니까?

이는 요구 사항, 편집증 수준, 시스템 관리자에 대한 신뢰 및 최종적으로 키 사용에 따라 달라집니다.

프라이빗이 필요하신 경우SSH일부 서비스(예: GitHub)에 액세스하기 위해 컴퓨터에 키를 추가하고 이 컴퓨터에서만 사용되는 새 키를 생성하고 필요한 서비스/컴퓨터 인증에만 허용됩니다.

에 관하여오픈PGP/GnuPG, 상황은 요구 사항에 따라 다릅니다. 당신은 소프트웨어에 서명하기를 원하는 것 같은데, 나는 당신 회사에서 이런 일이 일어날 것 같은 느낌이 듭니다. 키가 회사에 직접 연결되어 있고 이 목적으로만 생성된 경우 회사 컴퓨터에 키가 없는 것에 대해 이의가 없습니다.

어떤 이유로든 자신의 키를 사용해야 하는 경우 최소한 서명으로 제한하고 번거로움 없이 언제든지 취소할 수 있는 하위 키를 만드세요. 어쨌든 하위 키를 사용하는 것은 좋은 습관입니다! 많은 OpenPGP 고급 사용자는 실제로 개인 기본 키를 오프라인으로 저장하고 실제로 키 관리에만 사용합니다.

gpg-agent의 소켓 전달이 잘 가능한 것 같습니다., 그리고 물론 키에 대한 시스템 관리자의 액세스가 줄어듭니다(그들은 더 이상 전체 키에 액세스할 수 없지만 최소한 키를 제거한 GnuPG 2.1부터 시작하여 사용할 수만 있습니다).모두에이전트에 대한 개인 키 작업).

관련 정보