GitHubにSSH接続する手順【ユーザ名、パスワードが入力不要】

プログラミング

GitHub のリモートリポジトリに push する際に毎回、ユーザ名とパスワードを入力するのが面倒です。どうやったら解決できますか?

こんなお悩みにお答えします。

結論、GitHub に接続する際に SSH プロトコルを利用することで解決できます

SSH 接続することで、ユーザー名とパスワードの入力をスキップしながらも、安全に GitHub へ接続することができますので、今回はその設定手順をご紹介していきます。

※ Git の導入と初期設定、GitHub のアカウント登録が完了していることを前提としています

GitHubにSSH接続する手順【ユーザ名、パスワードが入力不要】

SSH 接続するためには、公開鍵と秘密鍵が必要になります。

公開鍵は「公開する鍵」なので GitHub に保持します。

秘密鍵は「秘密の鍵」なので、自分自身で保持します。
※自分以外に漏れないようにしっかり管理しましょう。

公開鍵とペアの秘密鍵を持っている人だけが接続を許可される仕組みです。

GitHubにSSH接続する手順
  • STEP1
    公開鍵と秘密鍵を作成する
  • STEP2
    公開鍵を GitHub へ登録する
  • STEP3
    秘密鍵を設定する
  • STEP4
    SSH 接続を確認する

公開鍵と秘密鍵を作成する

公開鍵と秘密鍵を作成します。

以下のコマンドの場合、公開鍵(~/.ssh/github.pub)と秘密鍵(~/.ssh/github)が作成されます。

$ ssh-keygen -t ed25519 -N "" -f ~/.ssh/github -C hoge@example.com
  • -t : rsa や ed25519 などの鍵の種類を指定します。※ ed25519 推奨
  • -N : パスフレーズを指定します。※ 今回は、パスフレーズなし("")
  • -f : ファイル名を指定します。※ 指定しない場合は、~/.ssh/id_ed25519 が生成される
  • -C : GitHub に登録したメールアドレスを指定します。

公開鍵を GitHub へ登録する

以下のコマンドで公開鍵ファイルの中身をクリップボードにコピーします。

[Mac]

$ pbcopy < ~/.ssh/github.pub

[Windows]

$ clip < ~/.ssh/github.pub

以下のURLをクリックして、GitHub の公開鍵を設定します。

https://github.com/settings/keys

画面の右上「New SSH key」ボタンをクリックします。

Title:適当なタイトルを入力します。
Key:クリップボードにコピーした公開鍵を貼り付けます。
「Add SSH key」ボタンをクリックします。

秘密鍵を設定する

~/.ssh/config に以下を追記します。

$ vi ~/.ssh/config
Host github.com
  IdentityFile ~/.ssh/github
  User git

SSH 接続を確認する

以下のコマンドで SSH 接続を確認します。

$ ssh -T git@github.com
Warning: Permanently added 'github.com,13.114.40.48' (RSA) to the list of known hosts.
Hi [GitHubのユーザー名]! You've successfully authenticated, but GitHub does not provide shell access.

「Hi [GitHubのユーザー名]! You've successfully authenticated...」が表示されたら完了です。

コメント

タイトルとURLをコピーしました