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는 다른 키 파일 형식을 사용합니다. 그것은 도구와 함께 제공됩니다전환하다자체 .ppk
형식과 OpenSSH 형식 사이.
당신이 찾은 ssh-3.2.9.1은 다음과 같습니다.시판 제품이는 고유한 개인 키 형식을 가지고 있습니다. OpenSSH 대신 사용할 이유가 없습니다. 호환성이 떨어질 수 있고, 비용을 지불해야 하며, 사용 방법에 대한 튜토리얼이 거의 없습니다.
답변2
putty
대부분의 Linux 배포판 에는 Linux용 PuTTY(패키지 이름)가 있습니다 . Linux 측에 PuTTY를 설치하고 puttygen
.ppk 파일을 일반 ssh
스타일 키 파일(PEM 파일이라고 함 - 파일 이름에 .pem이 없더라도)로 변환하는 데 사용할 수 있습니다.
puttygen id_dsa.ppk -O private-openssh -o id_dsa
메모:스타일 PEM 파일을 PuTTY로 다시 puttygen
가져오는 데 사용할 수도 있습니다 .ssh
PuTTY의 작성자는 단순성을 선택했기 때문에 PuTTY에서 사용하는 기본 보안을 구성하는 공개 키와 개인 키는SSH-2키 인증은 단일 독점 .ppk 파일에 저장됩니다. 일반적으로 이러한 키는 ssh
.
Linux에서 키 파일은 일반적으로 디렉터리에 보관됩니다..ssh.
이 스택 오버플로 질문에는 변환 프로세스에 대한 좋은 개요가 있습니다.PEM을 PPK 파일 형식으로 변환.
PuTTY의 작성자는 또한 PuTTY에서 .ppk 파일을 사용하는 이유에 대해 설명합니다.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이 필요합니다.
[중요성추가]