SSH 키 도구 모음

SSH 키 인증은 비밀번호를 수학적으로 연결된 키 쌍으로 대체합니다. 개인 키는 사용자의 컴퓨터를 절대 떠나지 않고, 공개 키는 로그인하는 모든 서버에 설치합니다. 서버는 사용자의 컴퓨터에 개인 키를 보유하고 있음을 증명하라고 요구하고, 그 증명은 비밀이 네트워크를 건너지 않고도 작동합니다. 이 페이지에서는 OpenSSH 형식의 Ed25519, ECDSA, RSA 키를 생성하고, authorized_keys와 known_hosts 파일을 감사하여 취약하거나 중복되거나 오래된 키를 찾으며, PEM, OpenSSH, JWK 형식 간에 키를 변환합니다. 모든 작업은 브라우저에서 이루어지며, 업로드는 없습니다. 함께 제공되는 안내서 SSH 키 설명에서는 키 종류 선택 방법과 키가 유출되었을 때의 대처법을 다룹니다. 아직 사용하는 비밀번호에는 비밀번호 유출 검사를, 나머지 키 자료에는 인증서 키 일치 검사기와 PGP 도구 모음을 함께 사용하세요.

마지막 업데이트:

개인 키는 이 페이지를 절대 떠나지 않습니다

모든 키는 브라우저에서 생성, 분석, 변환됩니다. 개인 키는 업로드되지도, 저장되지도, 기록되지도 않으며, URL에 나타나지도 않습니다. 한 번 다운로드하고 chmod 600으로 보호한 뒤, 암호가 필요하면 ssh-keygen -p로 추가하세요. 전체 안내서는 SSH 키 설명을 참조하세요.

새 SSH 키 쌍 생성

정직한 한계

버전 1은 암호화되지 않은 키를 생성합니다. 여기에 암호 옵션이 없는 이유는, 암호화된 개인 키를 위한 OpenSSH의 bcrypt KDF가 버전 2 범위이기 때문입니다. 다운로드한 파일을 chmod 600으로 보호하고, 암호가 필요하면 ssh-keygen -p로 추가하세요.

Ed25519 생성에는 최신 브라우저가 필요합니다. 사용 중인 브라우저가 지원하지 않으면 이 페이지에서 분명히 알려주고 대신 ECDSA P-256을 제안합니다. Ed25519 키를 위조하거나 조용히 다운그레이드하지 않습니다.

개인 키를 채팅, 티켓, 포럼 게시물, 공유 문서에 절대 붙여넣지 마세요. 안전한지 물어보기 위해서라도 안 됩니다. 개인 키가 그런 장소 중 어느 곳에라도 나타났다면 유출된 것으로 간주해야 합니다. 키를 교체하고 이전 공개 키를 모든 authorized_keys 파일에서 제거하세요.

SSH 키 인증이란 무엇이며, 비밀번호보다 왜 우수한가

SSH 키 인증은 입력하는 비밀을 수학적 증명으로 대체합니다. 키로 서버에 로그인하면 서버가 사용자의 컴퓨터에 무작위 챌린지를 보내고, 컴퓨터는 개인 키로 서명하며, 서버는 authorized_keys에 있는 공개 키로 서명을 검증합니다. 개인 키는 네트워크를 절대 건너지 않으므로 키로거가 훔칠 것도, 피싱으로 낚을 것도, 추측할 것도 없습니다. 공격자는 비밀번호처럼 256비트 Ed25519 키를 무차별 대입으로 깰 수 없습니다. 시도할 비밀번호가 존재하지 않기 때문입니다.

두 절반은 정반대의 규칙을 따릅니다. 공개 키는 모든 곳에 복사하기 위한 것입니다. 모든 서버의 authorized_keys, Git 호스팅 계정, 이를 허용하는 모든 서비스에 붙여넣으세요. 증명을 검증할 수만 있을 뿐이므로 공개해도 아무런 비용이 들지 않습니다. 개인 키는 그 반대입니다. 이를 가진 사람은 해당 공개 키를 신뢰하는 모든 서버에 사용자로 로그인할 수 있습니다. 그래서 개인 키는 ~/.ssh에 살며 사용자만 읽을 수 있고, 채팅, 티켓, 이메일, 공유 문서에 절대 붙여넣어서는 안 됩니다. 그런 장소 중 어느 곳에라도 나타나는 순간 유출된 것이며, 유일한 해결책은 모든 곳에서 교체하는 것입니다.

키 선택, 지문 확인, 파일 정리

2026년의 기본 선택은 Ed25519입니다. 256비트 키로 RSA보다 생성과 서명이 빠르며, 공개 키가 짧은 한 줄에 들어갑니다. 정책이나 오래된 시스템이 NIST 곡선을 고집할 때의 대안은 ECDSA P-256이며, 상대방이 타원 곡선을 전혀 사용할 수 없을 때만 RSA 3072 또는 4096이 답이 됩니다. RSA 2048이 하한이며, 그보다 작은 것은 이 페이지에서 취약한 것으로 표시됩니다. 키 종류보다 중요한 것은 그 주변의 위생입니다. 누구나 읽을 수 있는 파일에 방치된 강력한 키나, 더 이상 소유하지 않은 노트북에 복사된 키는, 제대로 보관된 평범한 키보다 나쁩니다.

지문은 올바른 컴퓨터와 대화하고 있는지 아는 방법입니다. 서버에 처음 연결하면 SSH가 서버 호스트 키의 지문을 표시하고 신뢰할지 묻습니다. 이 지문은 서버 공개 키의 해시이며, 관리자가 게시한 것과 일치하면 중간에 앉아 있는 사람이 없습니다. 저장해 두면, 지문이 바뀌는 경우 SSH가 크게 경고합니다. 같은 지문이 사용자의 키도 식별합니다. ssh-keygen -lf는 키마다 한 줄을 출력하고, 이 페이지는 정확히 같은 형식으로 지문을 출력하므로, 여기서 보는 값을 서버의 값과 문자 단위로 비교할 수 있습니다.

이 파일들은 정기적인 감사가 필요합니다. 키는 계속 쌓이기 때문입니다. authorized_keys의 각 줄은 서버로 통하는 문이며, 그 문은 그 문이 필요했던 사람이 떠난 뒤에도 오랫동안 열려 있습니다. 외주 업체 직원의 노트북, CI 작업, 이미 삭제된 컴퓨터에서 생성된 키 등이 그렇습니다. 파일을 「검사」 탭에 붙여넣으면 이 페이지에서 키를 세고, 중복을 표시하며, 취약하거나 오래된 종류를 표시하고, 분석할 수 없었던 줄을 조용히 버리는 대신 나열합니다. known_hosts도 마찬가지이며, 해시된 항목은 호스트 이름을 숨깁니다. 이 페이지는 이를 해시된 것으로 보고하며, 읽을 수 있는 것처럼 가장하지 않습니다. 몇 달에 한 번씩 10분 감사는 서버 소유자가 하는 가장 저렴한 보안 작업입니다.

이 도구 모음을 쉬운 말로

Ed25519최신 타원 곡선 키로, 256비트이며 빠르고 작습니다. 2026년 새 키의 권장 기본값으로, 모든 최신 SSH 서버와 클라이언트가 지원합니다.
ECDSA P-256 / P-384NIST P-256 및 P-384 곡선상의 타원 곡선 키입니다. Ed25519을 사용할 수 없을 때 좋은 대안이며, 정책상 NIST 곡선이 요구되는 경우의 표준 선택입니다.
RSA 2048 / 3072 / 4096고전적인 키 종류입니다. RSA 2048이 사용할 만한 최소값이며, 3072과 4096은 서명이 느려지는 대신 여유를 제공합니다. 2048 미만은 취약한 것으로 표시됩니다.
공개 키서버의 authorized_keys에 설치하는 절반입니다. 자유롭게 공유할 수 있습니다. 증명을 검증할 수만 있을 뿐, 증명을 만들 수는 없습니다.
개인 키사용자의 컴퓨터를 절대 떠나지 않는 절반입니다. 이를 가진 사람은 사용자로 로그인할 수 있습니다. chmod 600과 암호로 보호하고, 어디에도 붙여넣지 마세요.
지문공개 키의 짧은 해시로, SHA256:… 또는 MD5:… 형식으로 표시됩니다. ssh-keygen -lf가 출력하는 형식과 정확히 같으므로 서버에 표시되는 값과 비교할 수 있습니다.
authorized_keys서버상의 파일(~/.ssh/authorized_keys)로, 로그인이 허용된 공개 키를 나열합니다. 각 줄이 하나의 문이며, 오래된 줄은 닫는 것을 잊은 문입니다.
known_hosts사용자 컴퓨터상의 파일(~/.ssh/known_hosts)로, 각 서버의 호스트 키를 기록합니다. 덕분에 서버 키가 갑자기 바뀌면 SSH가 경고할 수 있습니다.
PEM / JWK두 가지 다른 키 인코딩입니다. PEM은 TLS 도구와 OpenSSL이 사용하는 base64 텍스트 형식이고, JWK는 웹 API가 사용하는 JSON 형식입니다. 변환해도 키 자체는 절대 바뀌지 않습니다.

자주 묻는 질문

어떤 키 종류를 선택해야 하나요?

거의 모든 경우에 Ed25519을 선택하세요. 빠르고 작으며 256비트로 안전하고, 모든 최신 서버가 지원합니다. 정책이나 오래된 시스템이 NIST 곡선을 요구할 때만 ECDSA P-256을, 상대방이 타원 곡선을 전혀 사용할 수 없을 때만 RSA 3072 또는 4096을 선택하세요.

생성된 개인 키는 암호화되어 있나요?

아니요. 버전 1은 cipher none인 암호화되지 않은 키를 생성하며, 이는 암호 없이 실행한 ssh-keygen과 정확히 같습니다. 다운로드한 뒤 chmod 600을 설정하고, 암호를 원하면 자신의 컴퓨터에서 ssh-keygen -p -f 당신의-키를 실행하세요. OpenSSH의 bcrypt 보호가 추가됩니다.

내 브라우저에서 Ed25519이 실패하는 이유는 무엇인가요?

Ed25519 키 생성에는 WebCrypto의 Ed25519 지원이 필요하며, 오래된 브라우저에는 없습니다. 이 페이지는 이를 감지하여 알려주며, 키를 위조하지 않습니다. 대안으로 ECDSA P-256을 사용하거나 브라우저를 업데이트한 뒤 다시 시도하세요.

개인 키를 여기에 붙여넣어 검사할 수 있나요?

암호화되지 않은 OpenSSH 개인 키를 붙여넣으면 이 페이지에서 공개 부분을 로컬로 분석합니다. 하지만 두 번 생각하세요. 더 안전한 습관은 공개 키와 authorized_keys 파일만 붙여넣는 것입니다. 암호로 보호된 개인 키는 명확한 오류와 함께 거부되며, 분석되지 않습니다.

키가 유출되면 어떻게 해야 하나요?

새 키 쌍을 생성하고, 이전 공개 키를 모든 서버와 서비스의 authorized_keys에서 제거한 뒤, 이전 키가 접근할 수 있었던 모든 것을 확인할 때까지 유출된 것으로 간주하세요. 전체 체크리스트는 안내서 「SSH 키 설명」에 있습니다.