GitHubにSSH接続する方法をご説明します。
丁寧に解説していきますので、SSH接続のやり方(鍵の準備など)がわからないという方は是非ご参照ください。
やりたいこと
Git Bashから公開鍵を使ってGitHubにSSH接続をする
前提
■ 環境
Windows 10 64bit
■ 以下インストール済のこと
・Git
未インストールの方はこちらから
【最新版】Gitのダウンロード・インストール for Windows 10 – Tech’s Report
・GitHub
アカウント未作成の方はこちらから
【初心者向け】GitHubのアカウント作成方法~無料で利用可能に – Tech’s Report
SSH接続手順
Git Bashの起動
WindowのメニューからGit Bashを起動してください。
専用のコマンドラインが立ち上がります。
ユーザ情報の設定
初期設定になります。すでにユーザ登録済の方は次項から確認ください。
・ユーザ情報を設定
GitBashからコマンドを入力する
git config --global user.name [任意のユーザ名] git config --global user.email [任意のメールアドレス]
・登録されているか確認
下記コマンドを入力する
git config --list
以下のようにさきほど設定したユーザ情報が表示されていればOKです。
user.name=[先ほど設定したユーザ名] user.email=[先ほど設定したメールアドレス]
秘密鍵と公開鍵の生成
・Git Bashから以下のコマンドを入力する(hoge@sample.comは先ほど設定したメールアドレスになります。)
ssh-keygen -t rsa -b 4096 -C "hoge@sample.com"
・鍵を保存する場所を聞かれるので問題なければ[Enter]を押してください。
Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/hoge/.ssh/id_rsa):
・パスフレーズの設定を聞かれるので任意のパスフレーズを入力して[Enter]を押してください。
Enter passphrase (empty for no passphrase):
・同じパスフレーズを入力して[Enter]を押してください。
Enter same passphrase again:
・以下のような文言が表示されればOKです。
Your identification has been saved in /c/Users/hoge/.ssh/id_rsa Your public key has been saved in /c/Users/hoge/.ssh/id_rsa.pub The key fingerprint is: SHA256:xl4ujTufp4Ba7fRS4Ci7UVqwyqvSkr7A5n0h6KXeLzc hoge@sample.com The key's randomart image is: +---[RSA 4096]----+ | | | | | . | | o .. | | . . ooS.. | |.o +.=.=.=. | |o== +o+ B.o | |Bo+o.E oo= .. | |=BooBo. o+=o | +----[SHA256]-----+
・作成された鍵の確認
id_rsaが秘密鍵、id_rsa.pubが公開鍵になります。
configの作成
ここの情報があまりなくハマりました。ただ以下の通り設定すれば簡単に設定できますので是非ご参照ください。
・さきほど作成した鍵と同ディレクトリに「config」というファイルを作成してください。(エクスプローラーからメモ帳を作って拡張子のtxtを取って保存などでOKです。)
・「config」を適当なエディタで開いて以下をコピーして貼り付けしてください。
Host github HostName github.com IdentityFile ~/.ssh/id_rsa User git
保存すればconfig作成は完了です。
GitHubに公開鍵の登録
・GitHubにログインして右上のアイコンから[Settings]をクリックしてください。
・[SSH and GPG keys] – [New SSH Key]をクリックしてください。
・公開鍵の設定をしてください
[Title]に適当な名称を入力し、[Key]にはさきほど生成した公開鍵を入力します。
[Key]には「id_rsa.pub」をメモ帳などのエディタで開き、全文そのままコピー&ペーストしてください。
入力後、[Add SSH Key]をクリックしてください。
これでGitHub側の登録は完了です。
SSH接続コマンド
最後にSSH接続してみましょう。
Git Bashに戻り、以下のコマンドを入力してください。
ssh -T git@github.com
以下のメッセージが返却されれば設定成功です。
Hi TechsReport! You've successfully authenticated, but GitHub does not provide shell access.
以上がGit BashからGit HubへのSSH接続する設定でした。
ユーザIDとパスワードが求められてしまう場合の対処法
Push時などでユーザIDとパスワードが求められてしまう場合の原因として以下の可能性があるため確認しましょう。
リモートリポジトリのURL設定がHTTP接続用になってないか以下コマンドで確認してください。
git config remote.origin.url
以下のようにHTTPSのURLになっている場合はSSH接続をしてくれません。
https://github.com/<ユーザID>/<リポジトリ名>.git
なのでリモート先のURLを以下コマンドでSSH用に変更しましょう。
git remote set-url origin git@github.com:<ユーザID>/<リポジトリ名>.git
以上です。
コメント