이 도구에 대해
SSH 키 쌍은 서버에 업로드하는 공개 키(서버의 `~/.ssh/authorized_keys` 또는 GitHub/GitLab의 배포 키)와 자신의 컴퓨터에 비밀로 보관하는 개인 키로 구성됩니다. 연결할 때 서버는 클라이언트가 이미 등록된 공개 키에 대응하는 개인 키를 가지고 있음을 증명하도록 요청합니다 — 개인 키 자체는 절대 전송되지 않습니다. Ed25519는 현대적인 기본 선택지입니다. RSA보다 훨씬 짧은 키(2048비트 이상이 아닌 256비트)를 사용하면서도 비슷하거나 더 나은 보안성을 제공하며, 생성과 검증도 더 빠릅니다. RSA는 아직 전환하지 않은 구형 서버, 임베디드 기기, 일부 기업 정책과의 호환성을 위해 여기서 계속 제공됩니다.
이 생성기의 모든 바이트는 브라우저에 내장된 WebCrypto API — HTTPS, WebAuthn 및 기타 브라우저 보안 기능이 사용하는 것과 동일한 암호화 엔진 — 를 통해 처리됩니다. 여기서 생성한 어떤 것도 서버로 전송되지 않습니다. 키 쌍, OpenSSH 형식의 공개 키, PEM으로 인코딩된 개인 키, SHA-256 지문 모두 이 브라우저 탭 안에서 로컬로 생성, 인코딩, 표시되며 페이지를 벗어나거나 새로고침하는 즉시 사라집니다(이 사이트의 다른 일부 도구와 달리 이 페이지는 키를 `localStorage`에 저장하지 않습니다). `.pub` 파일을 서버의 `authorized_keys`에 다운로드하고, 개인 키를 `chmod 600` 권한으로 `~/.ssh/`에 다운로드한 다음, `ssh-keygen -lf` 출력과 지문을 비교해 전송 중 변경된 것이 없는지 확인하세요.
자주 묻는 질문
Ed25519과 RSA 중 어느 것을 사용해야 하나요?
Ed25519이 현대적인 권장 사항입니다: 더 작은 키, 더 빠른 연산, 동등하게 강력한 보안을 제공하며 모든 최신 OpenSSH 버전에서 지원됩니다. Ed25519를 지원하지 않는 훨씬 오래된 서버에 연결해야 하는 경우에만 RSA(4096비트)를 사용하세요.
공개 키를 서버에 설치하려면 어떻게 해야 하나요?
다운로드한 .pub 파일 내용을 서버의 ~/.ssh/authorized_keys에 추가하세요(개인 키도 로컬에 저장했다면 터미널에서 `ssh-copy-id`를 사용해도 됩니다). 이후 개인 키 파일을 비밀로 유지하고 `ssh -i path/to/key user@host`로 참조하세요.