web-dev-qa-db-ja.com

sourcetreeとgithubの間でSSHキーが機能しない

私はキーを作成し、コマンドプロンプトを介してこれらの指示に従ってgithubに正常に接続することができました:

https://help.github.com/articles/generated-ssh-keys

ただし、SourcetreeとPuTTYを介して接続しようとすると、接続できません。私はもう試した:

  1. puTTYキージェネレーター(SSH-2 RSA)を使用して新しいキーを生成する
  2. パスフレーズを入力する
  3. 秘密鍵を保存する
  4. 公開鍵を保存し、.pub拡張子を追加する
  5. puTTYキージェネレータウィンドウからキーをgithubにコピー/貼り付け
  6. githubから取得したSSHクローンURLを使用して、ローカルリポジトリからプライベートgithubリポジトリからプルでブランチを更新しようとしています

また、githubコマンドラインの指示から生成されたキーを開いてみましたが、それをPuTTYタイプのキーに変換して、それを試し保存しました。運もありません。

私は何を間違えていますか?

26
turbo2oh

それを機能させるために、ツール->オプション-> SSHクライアントに移動し、OpenSSHに変更しました。私もそれを機能させるためにいくつかの異なるタイプのキーを生成してアップロードしましたが、これが最終的にそれをやったと思います。

50
turbo2oh

私の場合、gitベースのレポパスではなく、sshまたはhttpsベースのレポパスに切り替える必要がありました。これにより、SourceTreeはSSHベースの認証に切り替わります。

この設定はRepository => Repository setting => Pathsにあります

例:

正しいリポジトリパス

[email protected]:<username>/<reponame>.git

または

ssh://[email protected]/<username>/<reponame>.git

(注:自分のものではないレポで作業している場合は、usernameorganization nameに置き換えてください)

間違ったリポジトリパス

https://github.com/<username>/<reponame>.git

HTTPSリポジトリパスを使用すると、SourceTreeは非常にスマートになり、失敗します。 2要素認証を有効にしている場合は機能しない、ユーザー名/パスワードGUIダイアログのプロンプトが表示されます。

22
DeepSpace101

OpenSSHからPuTTY/Plinkへの切り替えを検討し、ホストOSが提供するGitの代わりに埋め込みGitを使用することをお勧めします。 Windowsでssh-agentを機能させるのは、SourceTreeとPuttyGenから直接クリックするよりも少し複雑です。

ターミナルを使用してSSHを構成し、ssh-agentを起動したい場合は、下の2つのステップを参照してください。

Steps

1
Wojciech Fornal

MacOSのSourcetreeでは、OAuthから基本認証に変更し、ユーザー名として「git」を使用し(not my GitHubユーザー名)、SSHキーを生成し、それをGitHubに入力すると、SourcetreeでSSH経由でGitHubリポジトリを複製できました。

0
brettlyman