Tech`s Report

MENU

【初心者向け】GitHubにSSH接続する設定方法 for Windows 10

フリーエンジニア向け案件を紹介【BTCエージェント】

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を起動してください。
f:id:TechnologyShare:20200418184854p:plain  

専用のコマンドラインが立ち上がります。
f:id:TechnologyShare:20200418184934p:plain  

ユーザ情報の設定

初期設定になります。すでにユーザ登録済の方は次項から確認ください。

・ユーザ情報を設定
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が公開鍵になります。
f:id:TechnologyShare:20200418185347p:plain  
 

configの作成

ここの情報があまりなくハマりました。ただ以下の通り設定すれば簡単に設定できますので是非ご参照ください。    
 

・さきほど作成した鍵と同ディレクトリに「config」というファイルを作成してください。(エクスプローラーからメモ帳を作って拡張子のtxtを取って保存などでOKです。)
f:id:TechnologyShare:20200418185810p:plain  
 
・「config」を適当なエディタで開いて以下をコピーして貼り付けしてください。

Host github
  HostName github.com
  IdentityFile ~/.ssh/id_rsa
  User git

保存すればconfig作成は完了です。

 
 

GitHubに公開鍵の登録

・GitHubにログインして右上のアイコンから[Settings]をクリックしてください。
f:id:TechnologyShare:20200418193813p:plain  
 
 
・[SSH and GPG keys] - [New SSH Key]をクリックしてください。
f:id:TechnologyShare:20200418194129p:plain    
 

・公開鍵の設定をしてください f:id:TechnologyShare:20200418194443p:plain
[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

 

以上です。