SSH接続の秘密鍵を作成、SourceTreeとGitHubを連携しプッシュするまで【初心者向け】

####済ませておく
>Sourcetreeインストール　
https://sukkiri.jp/technologies/devtools/git/sourcetree_win.html　
ビットバケットアカウント作成
https://confluence.atlassian.com/jpns/faq/atlassian　
GIthub登録
https://qiita.com/ayatokura/items/9eabb7ae20752e6dc79d　
Git hubリポジトリ作成
https://docs.github.com/ja/github/getting-started-with-github/quickstart/create-a-repo　

今まで、プログラム変更前にファイルの予備をコピーしたり、原始的なことをしてたので、初めてSourceTreeをインストール。

SourceTreeからgithubにプッシュした際、ハマってしまったので、備忘録。

上記URLのアカウント登録、SourceTreeアプリインストール、Githubリポジトリ作成済み前提。

#####<参考にさせてもらったサイト>

https://qiita.com/wakahara3/items/52094d476774f3a2f619#　
#Macで公開鍵を作成する
#####ターミナルにて、下記コマンドを実行して、鍵を入れるフォルダに移動します。

```
$cd ~/.ssh
```
もし、/.ssh: No such file or directoryと出たら、sshディレクトリがないので作成する。

#####次のコマンドでフォルダを作成します。

```
$mkdir ~/.ssh
```

lsコマンドでこのディレクトリに何もないことを確認します。

```
$ls
```


#####そのままターミナルで編集する方法

```
vim ~/.ssh
```

>抜けるとき
i で編集開始、Escで終了
:wq 編集した内容を開いているファイルに保存して終了:q! 編集していても保存せずに強制終了
あったら削除するか、登録するときに上書きできる。
自分はそのままにして上書きした。

#####次に以下のコマンドで鍵を生成します。

```
$ssh-keygen -t rsa
```


>実行すると以下の3つのことを聞かれます。
- 鍵ファイルを保存するフォルダの名前
- パスフレーズ
- パスフレーズ（確認用）
すべて Enterを押しても構いません


この後に下記のコマンドを入力して~/.sshの中身をみてください。

```
$ls
```

すると次のような2つのファイルが作成されているのが確認できます。（先程、名前を設定していればそれが表示されます）

```
 id_rsa
 id_rsa.pub
```

>id_rsaファイルが秘密鍵ファイルです。
id_rsa.pubファイルが公開鍵ファイルです。

生成した公開鍵の内容は次のコマンドで確認できます。

```
cat ~/.ssh/id_rsa.pub
```
<各OS別公開鍵登録方法>
https://ja.confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html　


#####macOS の場合、次のコマンドを使用して出力をクリップボードにコピーします。

```
$ pbcopy < ~/.ssh/id_rsa.pub
```
#bitbucketに公開鍵を登録する

![スクリーンショット 2021-09-17 19.50.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/714335/3a033b7c-08c6-2144-bff1-1be6d70bb465.png)

>1. キーの出力を選択してクリップボードにコピーします。コピー アンド ペーストがうまくできない場合は、ノートパッドでファイルを直接開くことができます。ファイルの内容を選択します (ファイル終了記号を選択しないようにご注意ください)。
2. Bitbucket で [キーの追加] をクリックします。
3. 新しいキーの [ラベル] を入力します (例: Default public key)
4. コピーした公開キーを [SSH キー] フィールドに貼り付けます
5. 貼り付けると、最後の行にメール アドレスが表示される場合があります。キーにはメール アドレスを任意で含めます
6. [保存] をクリックします。
7. Bitbucket からキーの追加を確認するメールがユーザーに送信されます。
ターミナル ウィンドウに戻り、次のコマンドを入力して構成とユーザー名を確認します。

```
$ ssh -T git@bitbucket.org
```

#####そのキーを使用してログインできる Bitbucket アカウントが表示されます。

```
conq: logged in as emmap1.


You can use git or hg to connect to Bitbucket. Shell access is disabled.
```



#GitHubに公開鍵を登録する
<参考ページ>
https://qiita.com/shizuma/items/2b2f873a0034839e47ce　
![スクリーンショット 2021-09-17 19.51.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/714335/774fa499-f2c4-67ce-7d93-887b86df4636.png)

>1. アカウントからSSH設定画面へいく。
2. 画面右上の「Add SSH key」のボタンを押します。

>3. 「title」に公開鍵名、「key」に公開鍵の中身を入れます。

>なお、鍵の中身のクリップボードへのコピーは
$ pbcopy < ~/.ssh/id_rsa.pub (Mac)
$ clip < ~/.ssh/id_rsa.pub (Windows)
*鍵の名前は自分の作成したもの。


#####接続を確かめる

```
$ ssh -T git@github.com
```

で返ってきたら接続完了!
Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access.


#SourceTreeの環境設定からアカウントを追加する
#####Sourcetreeアカウントを設定する
![スクリーンショット 2021-09-17 19.35.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/714335/8532a74b-e996-dbbd-57d7-6e07194ae734.png)

>認証タイプをBasic
プロトコルをSSHにする
パスワードを入力して保存する。

#####リモートを追加する
![スクリーンショット 2021-09-17 19.39.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/714335/aeed21c6-0396-9c58-4745-b53aa2b39f5c.png)




>リモートを追加する
アプリのリポジトリからリモートを追加画面へ
リモートの名前を入力
URL/パスは、Git hubで作成したリポジトリのSSH URLを入力してOK

#####あとはコミットしたファイルを選択してプッシュ。
![スクリーンショット 2021-09-17 19.55.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/714335/460a28d1-53c3-437e-9d84-a2f0768c9b23.png)
>Githubにファイルが反映されたら連携完了です。
お疲れ様でした！
<br>



Gitめっちゃ便利。。