答え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を使用するのが最善です。