先日仕事で、GitHubのプライベートリポジトリをSourceTreeのHTTPS接続でクローンししてもうまくいかなかったのですが(クローン時にパスワードを聞かれて正しいパスワードを入力しても何故かエラーになってしまう状態)、接続方法を変えてSSH接続に変更したらうまくクローンできたので、その流れを備忘録として残しておきたいと思います。
SSH接続に必要な秘密鍵と公開鍵の作成
まず、ターミナルから秘密鍵と公開鍵を作成します。
ここで作成した公開鍵をGitHubに登録して接続する流れになります。
step
1メールアドレス部分にGitHubの登録メールアドレスを入力して実行
ssh-keygen -t rsa -C メールアドレス
step
2鍵の保存先を聞かれるので、そのままEnter
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa):
step
3パスフレーズを入力してEnter(2回)
パスフレーズはパスワードのようなものです。こちら任意のようなので、空のままでも問題なしです。
パスフレーズに入力した文字は表示されませんが、きちんと入力されてます。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/ユーザー名/.ssh/id_rsa
これで秘密鍵と公開鍵の作成完了です。
ちなみにすでに鍵がある場合は上書きされてしまうので、注意が必要です。
別の名前に変更したい場合は「2.鍵を保存する先を聞かれるので、そのままEnter」のタイミングでEnterの前に新たなファイル名を入力しEnterで指定したファイル名の秘密鍵と公開鍵が作成されます。
秘密鍵と公開鍵がちゃんと登録されているか確認
step
11.秘密鍵と公開鍵が保存されているディレクトリに移動
秘密鍵と公開鍵は以下のディレクトリに保存されています。
cd ~/.ssh
step
2sshディレクトリ内にあるファイルのリスト一覧を表示
ls
step
3以下のファイル名が表示されていればOK
ファイル名を指定した場合は、設定したファイル名で作成されています。
id_rsa id_rsa.pub
秘密鍵:id_rsa
公開鍵:id_rsa.pub
となってます。使用するのは公開鍵のみです。秘密鍵の取り扱いには注意しましょう。
step
4パスフレーズを登録した場合以下のパスフレーズフリーにする設定を行います
ssh-add -K
「config」ファイルの設定
step
1「config」ファイルを作成
この設定を行わないとSourcetreeからうまくクローンできない模様
touch config
step
2作成した「config」ファイルに以下を入力
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa
User git
「config」ファイルは「/Users/ユーザー名/.ssh/」内に保存されます。
GitHubへ公開鍵を登録
step
1作成した公開鍵をコピーしておく
ファイル名を指定した場合は以下のファイル名変更してコピーしてください。
pbcopy < ~/.ssh/id_rsa.pub
step
2GitHubの管理画面で公開鍵を登録
GitHubへログインし、右上のアイコンから「Settings」をクリック。
左ナビから「SSH and GPG keys」をクリック。
「SSH keys」タイトル横の 「New SSH key」をクリックし、以下の画面からTitle(自分でわかりやすいタイトルを設定)しKeyに「1.作成した公開鍵をコピーしておく」でコピー済みの公開鍵をペーストして「Add SSH key」クリックで、GitHubへ公開鍵登録完了です。

SourceTreeの設定
SourceTree設定のアカウントから新規アカウントを追加
ユーザー名の「アカウントを接続」をクリックしGitHubと連携し、保存して完了。

URLからクローン
SourceTreeにて新規「URLからクローン」でGitHubのプライベートリポジトリのURLを設定し、ポジトリをクローン。以上で完了です。
まとめ
いまだに何故プライベートリポジトリがHTTPS接続できなかったのかは謎ですが、なんとか落とせるようになってよかった。これはSourceTreeから卒業しろと言う事なのでしょうか。悩。
Gitの本も出てるみたいなので、読んでおこうかな…
こちらもCHECK
-
-
【SourceTree】GitHubのリポジトリ(HTTPS)がクローンできなかった話と解決方法
続きを見る