私はキーを作成し、コマンドプロンプトを介してこれらの指示に従ってgithubに正常に接続することができました:
https://help.github.com/articles/generated-ssh-keys
ただし、SourcetreeとPuTTYを介して接続しようとすると、接続できません。私はもう試した:
また、githubコマンドラインの指示から生成されたキーを開いてみましたが、それをPuTTYタイプのキーに変換して、それを試し保存しました。運もありません。
私は何を間違えていますか?
それを機能させるために、ツール->オプション-> SSHクライアントに移動し、OpenSSHに変更しました。私もそれを機能させるためにいくつかの異なるタイプのキーを生成してアップロードしましたが、これが最終的にそれをやったと思います。
私の場合、git
ベースのレポパスではなく、ssh
またはhttps
ベースのレポパスに切り替える必要がありました。これにより、SourceTreeはSSHベースの認証に切り替わります。
この設定はRepository => Repository setting => Paths
にあります
例:
正しいリポジトリパス
[email protected]:<username>/<reponame>.git
または
ssh://[email protected]/<username>/<reponame>.git
(注:自分のものではないレポで作業している場合は、username
をorganization name
に置き換えてください)
間違ったリポジトリパス
https://github.com/<username>/<reponame>.git
HTTPSリポジトリパスを使用すると、SourceTreeは非常にスマートになり、失敗します。 2要素認証を有効にしている場合は機能しない、ユーザー名/パスワードGUIダイアログのプロンプトが表示されます。
OpenSSHからPuTTY/Plinkへの切り替えを検討し、ホストOSが提供するGitの代わりに埋め込みGitを使用することをお勧めします。 Windowsでssh-agentを機能させるのは、SourceTreeとPuttyGenから直接クリックするよりも少し複雑です。
ターミナルを使用してSSHを構成し、ssh-agentを起動したい場合は、下の2つのステップを参照してください。
MacOSのSourcetreeでは、OAuthから基本認証に変更し、ユーザー名として「git」を使用し(not my GitHubユーザー名)、SSHキーを生成し、それをGitHubに入力すると、SourcetreeでSSH経由でGitHubリポジトリを複製できました。