GitBashを使ってSSHキーを生成して、SourcetreeでGitHubへ接続してみた!
ずっと前にGitHubのアカウントは作っていたんですが、活用していこうと思い環境を整えることにしました。
Gitクライアントは使いやすいSourcetreeを使用。Windows10環境。
最初は、GitHubに接続する方式として「https方式」を使ってクローンやプッシュをしてました。
ただ、つどパスワード管理ダイアログが立ち上がったり、なぜかクローンできないレポジトリがあったりしたので、「SSH方式」に変更することに。
この記事は、その備忘録になります!
手順はこちら。
- Git Bashをインストール
- SSHキー(公開鍵、秘密鍵)を生成
- その鍵を使って、SourcetreeからGitHubに接続してクローン、プッシュができるようにする
1. Git Bashをインストール
Git Bashとは?
Git Bashは、Windowsにてコマンドでgitの操作を利用する際に使うターミナル(いわゆる黒い画面)のこと。 Git for Windowsのインストールが済んでいると使えるようになります。
WindowsでGitを始めたらまず確認!Git Bashの設定&ショートカット
最初はWindows10標準のターミナル「コマンドプロンプト」の拡張機能かと思ってたんですが、別なアプリケーションなんですね。知らんかった。
こちらからインストールしました。
このGit Bashを使うことで、次のSSHキーの生成が可能になります。
2. SSHキー(公開鍵、秘密鍵)を生成
GitHubの公式ドキュメントを参考に、SSHキーを生成していきます。
コマンドライン操作がなかなか大変かと思いますが、これは慣れるしかないですね…。
https://docs.github.com/ja/github/authenticating-to-github/connecting-to-github-with-ssh
以下を設定していきます。
・既存の SSH キーの確認
・新しい SSH キーを生成して ssh-agent に追加する
・GitHub アカウントへの新しい SSH キーの追加
ドキュメントを見ながら進めればなんとか行けると思います。
ただ、自分が一箇所だけ詰まったところがあるので、メモしておきます。
SSH キーを ssh-agent に追加するの箇所のコマンドですが、以下の1行目を実行すると、2~4行目が出力され、どうやらエラーのようです。
$ eval 'ssh-agent'
SSH_AUTH_SOCK=/tmp/ssh-xxxxxxxxx/agent.xxx; export SSH_AUTH_SOCK;
SSH_AGENT_PID=xxx; export SSH_AGENT_PID;
echo Agent pid xxx;
どうやら書き方が違っていたらしく、
$ eval "$(ssh-agent)"
Agent pid xxx
と「”$()”」で囲った文字列コマンドで実行すると、2行目のように出力されて上手く行きました。
ドキュメントどおりに進めると、秘密鍵:id_ed25519、公開鍵:id_ed25519.pubの2つのファイルが生成されます。
公開鍵の内容テキストをGitHubの自分のアカウントマイページから登録します。
3. SourcetreeからGitHubに接続
あとは、Sourcetreeの設定をします。
上のメニューの中から、「ツール」>「オプション」を選択。
オプションのポップアップの「全般」タブ>「SSHクライアントの設定」を変更してOKします。
・SSHキー:生成した秘密鍵を指定します
・SSHクライアント:プルダウンで「OpenSSH」を選択します
あとは、GitHubで作成してあるレポジトリをクローンします。
自分のGitHubページのクローンしたいレポジトリで、SSH用のクローン元の文字列をコピります。
Sourcetreeでクローンします。
・「ファイル」>「新規/クローンを作成する」を選択
・「元のパス/URL」に先程の文字列を入れる
・「保存先のパス」で好みのフォルダを指定して、「クローン」ボタンを押す
これで無事にGitHubのレポジトリがローカルPCにクローンされるはずです。
お疲れさまでした!
にしティーの試行錯誤が、みなさまの参考になれば幸いです。
試行錯誤、マジ疲れた…!!
それでは、また!