現在、亀のgitに奇妙な問題があり、それを理解できません。 github上のリポジトリにコミットしようとすると、エラーが発生します
エラー:martindevans/Hermes.gitへのアクセス許可がkey2に拒否されました
Key2は、別のgithubリポジトリにアクセスするために使用するキーですが、リモートURLはkey2を使用するように設定されていません。
私は明らかに間違っていることをしていますか、それとも亀のgitが壊れていますか?
Nb。コメントに応じて。通常のgitを使用すると、次の結果になります。
C:\Users\Martin\Documents\Visual Studio 2010\Projects\Hermes>git Push
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
秘密鍵にはさまざまな形式があります。私のキーペアはputtygenで生成されましたが、Tortoiseはssh.exe(msysgit形式)をssh-clientとして使用するように構成されていました。だから私はそれを(トータスからの)plinkに変更し、うまくいきました。
追記:正しいURLを使用してください! Githubは3つのURL https、git、sshを提供します。
編集:
私はsettingsをここに適応させました:
Settings - TortoiseGit >> Network >> SSH-Client
C:\Program Files\TortoiseGit\bin\TortoisePLink.exe
key-pairを生成しました:
C:\Program Files\TortoiseGit\bin\puttygen.exe
はぁ! ProcMonが助けになります。これはtortoisegit/tortoiseplinkのバグです。ページェントを介してそのリモートのキーセットを優先する必要がありますが、代わりに、その特定のサーバーのPuTTYによってレジストリに保存されたキーを優先します。 2つの修正。
ここで2つの可能な修正
TortoiseplinkはPuTTYと統合されており、そのサーバーに関連付けられたPuTTYの「セッション」に保存した秘密鍵を読み取っています。少なくともそれは私にとってはそれでした。私はgithubを利用していませんので、誰にとってもこのソリューションの実行可能性はわかりません。
亀のgitと同じように、PuTTYセッションの構成でキーセットを手動で削除し、PuTTYセッションにpagaentを使用することをお勧めします。これにより、tortoisegitはリモコンのキーセットも使用するようになります。
したがって、PuTTYを開いて、サーバーに関連付けられているセッションをロードし、接続/ SSH/Authに移動して、「認証用の秘密鍵ファイル」の値を変更/削除できます。 MOdificationはこのリポジトリを修正する場合がありますが、同じサーバーに異なるキーを使用している場合は、別のリポジトリを台無しにしてしまいます。
レジストリエントリは自分で変更/削除できます。 HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\$SERVERNAME$\PublicKeyFile
git bashでキーを作成します。
ssh-keygen -t rsa
すべてを空白のままにし、パスワードを設定しないでください。 〜/ .ssh/id_rsa.pubの内容を取得して、githubによって提供される公開鍵スペースに貼り付けます。
Ssh経由でgithubに接続してこれをテストします。それが機能する場合は、gitを使用できます。
お役に立てれば。
TortoiseGitを設定してBitbucket(Win10)にアクセスするのと同じ問題がありました。それを解決するには、HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
のレジストリにある古い保存されたホストキーを削除する必要がありました((デフォルト)キーではなく)。