Fedora 33のsshエラーsign_and_send_pubkey:相互署名はサポートされていません。

Fedora 33のsshエラーsign_and_send_pubkey:相互署名はサポートされていません。

centosからfedora 33に移行した後、gitリポジトリを複製しようとしましたが、次のエラーが発生しました。

クローン[Eメール保護]:abc/myproject.git
"myproject"への複製...
sign_and_send_pubkey: 相互署名はサポートされていません。
[Eメール保護]:権限が拒否されました(公開鍵)。
致命的:リモートリポジトリから読み取れません。


正しいアクセス権があること、リポジトリが存在することを確認してください。

権限、キーを確認して新しいキーを生成しましたが、それでもエラーが解決しません。

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

関連情報