GitHub TIPS

SourceTreeでGitHubにSSH接続する方法(Mac)

先日仕事で、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
1
1.秘密鍵と公開鍵が保存されているディレクトリに移動

秘密鍵と公開鍵は以下のディレクトリに保存されています。

cd ~/.ssh

step
2
sshディレクトリ内にあるファイルのリスト一覧を表示

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
2
GitHubの管理画面で公開鍵を登録

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)がクローンできなかった話と解決方法

続きを見る

-GitHub, TIPS