ssh-keygen
("ssh" 패키지)가 ( puttygen
"퍼티" 팩).
일부 SSH 서버를 사용하여 공개 및 개인 키를 생성하면 ssh-keygen
내 키가 허용되지 않습니다. puttygen
하나의 서버에서만 키를 생성 하면 허용됩니다.
Linux 저장소에서는 이에 대한 일반적인 솔루션(패키지)을 제안하지 않는 이유는 무엇입니까?
다른 패키지를 찾았어요SSH-3.2.9.1PuTTY와 함께 사용할 키를 생성합니다. 그런데 왜 SSH를 위한 편리한 솔루션이 없는 걸까요?
답변1
OpenSSH는 SSH 프로토콜의 사실상 표준 구현입니다. PuTTY와 OpenSSH가 다르면 PuTTY는 호환되지 않습니다.
OpenSSH를 통해 키를 생성하기 위해 기본 옵션을 사용하면 ssh-keygen
거의 모든 서버에서 작동합니다. 이러한 키를 허용하지 않는 서버는 오래되었거나 다른 SSH 구현을 사용하거나 이상하게 제한적인 방식으로 구성됩니다. 일부 서버는 기본이 아닌 유형의 키를 지원하지 않을 수 있습니다. 특히 ECDSA 키를 사용하면 세션 설정이 약간 더 빨라지지만 최신 버전의 OpenSSH에서만 이를 지원합니다.
PuTTY는 다른 키 파일 형식을 사용합니다. 도구와 함께 제공됩니다변화자체 형식과 OpenSSH 형식 .ppk
간의 관계 .
찾은 ssh-3.2.9.1은 다음과 같습니다.상업용 제품고유한 개인 키 형식이 있습니다. OpenSSH 대신 사용할 이유가 없습니다. 호환성이 좋지 않고 결제가 필요하며 사용 방법에 대한 튜토리얼이 거의 없습니다.
답변2
대부분의 Linux 배포판은 Linux용 PuTTY(패키지 이름)를 제공합니다 putty
. Linux 측에 PuTTY를 설치하고 이를 사용하여 puttygen
.ppk 파일을 일반 ssh
스타일 키 파일(PEM 파일이라고 함 - 파일 이름에 .pem이 없더라도)로 변환할 수 있습니다.
puttygen id_dsa.ppk -O private-openssh -o id_dsa
노트:puttygen
가져오기 스타일 PEM 파일을 ssh
PuTTY로 다시 사용할 수도 있습니다 .
PuTTY의 작성자는 단순성을 선택했기 때문에 공개 키와 개인 키가 PuTTY/에서 사용되는 기본 보안을 형성합니다.SSH-2키 인증은 단일 독점 .ppk 파일에 저장됩니다. 일반적으로 이러한 키는 두 개의 별도 파일로 유지됩니다 ssh
.
Linux에서 키 파일은 일반적으로 디렉터리에 저장됩니다..ssh.
이 스택 오버플로 질문에는 변환 프로세스에 대한 좋은 개요가 있습니다.PEM을 PPK 파일 형식으로 변환.
PuTTY의 저자는 또한 PuTTY에 대한 그의 작업에 대해 논의합니다.PuTTY 사용 설명서. 이에 대해서는 섹션 8.2.12에서 읽을 수 있습니다.
답변3
둘 다 "SSH 프로토콜 버전 2용 RSA 키 쌍"을 저장하고 다음을 수행할 수 있습니다.변환됨그러나 실제 저장 형식의 차이점은 다음과 같습니다.
~에서https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/key-formats-natively.html
PuTTY 키 형식의 장점은 다음과 같습니다.
- 키의 공개 부분은 일반 텍스트로 저장됩니다..OpenSSH 개인 키 형식은 전체 키 파일을 암호화합니다.,이렇게 하면 클라이언트는 키를 사용하여 작업을 수행하기 전에 사용자에게 비밀번호를 요청해야 합니다. 특히 이는 비밀번호를 요청하기 전에 비밀번호를 요청해야 함을 의미합니다.공급인증을 위해 공개 키를 서버로 보냅니다. PuTTY의 형식은 공개 키를 일반 텍스트로 저장하고 개인 키 부분만 암호화합니다. 즉, 자동으로 공개 키를 서버에 보내고 서버가 해당 키를 사용하여 인증을 수락할지 여부를 판단할 수 있으며, 정말 필요합니다. 비밀번호를 입력하세요.
나는 OpenSSH가 개인 키 파일과 함께 제공되면 이 목적을 위해 파일을 읽을 것이라고 생각했지만.pub
이것이 종종 혼란의 원인입니다(사람들이 개인 키 파일을 교체하고 오래된 파일로 남아 있는 것을 본 적이 있습니다.pub
) 그 결과 SSH 인증 프로세스로 인해 매우 혼란스러워졌습니다! ).- 열쇠는 완전히 변조되지 않습니다.공개 키를 일반 텍스트로 저장하는 키 형식은 변조 공격에 취약할 수 있습니다. 변조 공격에서는 변조된 키로 만든 서명이 비공개 부분에 대한 정보를 공개하도록 키의 공개 부분이 수정됩니다. 이런 이유로,PuTTY의 키 형식에는 MAC(메시지 인증 코드), 암호가 포함되어 있으며 키의 공개 및 비공개 부분을 재정의합니다.따라서 우리는 공개 키를 일반 텍스트로 제공하는 편리함을 제공할 뿐만 아니라 변조 공격 시도를 즉시 감지하여 다른 키 형식에서는 찾아볼 수 없는 보안성과 편의성의 조합을 제공합니다. 부가적인 이점으로 MAC는 키 주석도 다루므로 누군가 두 키를 교환하고 주석을 교환할 경우 발생할 수 있는 장난을 방지할 수 있습니다.
OpenSSH가 공개 키 암호화를 유지하는 방법가능한이러한 공격에 대한 일부 보안도 제공되지만 적절한 보호를 제공하는지 여부는 불분명합니다. 비밀을 위해 설계된 암호화는 공격자가 암호화된 데이터를 효과적으로 수정할 수 있는 방법을 남기는 경우가 많습니다. 진정한 무결성 보호를 위해서는 이를 위해 설계된 진정한 전용 MAC이 필요합니다.
[강조하다다음에 추가]