답변1
인터넷 검색 후 다른 관련 오류 중에서 답을 찾았습니다. SSH가 계속 공개 키를 건너뛰고 비밀번호를 묻습니다.
DSA 키는 새로운 openssh 버전(7.0+)에서 더 이상 사용되지 않으며 기본적으로 사용되지 않습니다(서버 또는 클라이언트에서는 사용되지 않음). 더 이상 이 키를 사용하고 싶지 않으니 가능하다면 RSA 키를 사용하는 것이 좋습니다.
DSA 키를 사용해야 하는 경우 다음 명령을 사용하여 클라이언트 구성에서 이를 명시적으로 허용해야 합니다.
PubkeyAcceptedKeyTypes +ssh-dss
자세한 메시지에서 알려주는 대로 ~/.ssh/config에 해당 줄을 입력하는 것으로 충분합니다.
감사해요자크
부록: /etc/ssh/ssh_config에 이 줄을 추가하는 것이 가능하지만 마지막에 포함 뒤에 계속 작동합니다.
답변2
최신 버전의 OpenSSH에서는 안전하지 않기 때문에 기본적으로 지원되지 않는 DSA SSH 키를 사용하고 있는 것 같습니다. 이유는 다음과 같습니다.
- OpenSSH에서 사용되는 DSA 키는 1024비트로 제한됩니다. 이러한 유형의 알고리즘의 경우 이는 80비트의 보안 수준과 동일하지만 현재 허용되는 가장 낮은 보안 수준은 128비트입니다.
- DSA 키는 안전하지 않은 SHA-1 알고리즘을 통해서만 서명할 수 있습니다. SHA-1은 매우 취약한 것으로 알려져 있으며 61비트 보안만 제공하므로 더 이상 사용해서는 안 됩니다. SHA-1은 너무 약해서 합리적인 보수를 받는 소프트웨어 개발자라면 누구나 SHA-1을 공격할 수 있습니다.
가장 좋은 방법은 다음과 같은 방법을 사용하여 새 키를 생성하는 것입니다.
$ ssh-keygen -t ed25519
Ed25519 키는 최고의 옵션으로 간주되며 Mozilla는 모든 개발자에게 이를 권장합니다. RSA 키도 사용할 수 있지만 크기가 3072비트 이상이어야 하며 PubkeyAcceptedTypes -ssh-rsa
.
Bitbucket 자체에서는 보안 호스트 키 알고리즘을 제공하지 않으므로(SHA-1 기반 알고리즘만) Bitbucket을 사용하는 경우 HTTPS를 사용하는 것이 가장 좋습니다.