みなさんこんにちは。最近ようやくGitHubを使い始めたひじきです。
今回はGitHubにSSH接続する方法を解説していきます。
これを設定するとGitを扱っている時のパスワード入力が不要になるため、ぜひ設定することをおすすめします!
こちらの記事は主にMacOSを使っている方向けですが、GitHubの操作などはOSによらないはずなので、Windowsを使っている方のお役にも立てる内容だと思います。
※内容は2023年1月時点でのものとなります。
公開鍵・秘密鍵の設定
まずは自分のPCで鍵を生成します。
方法はターミナルを開いて以下のコマンドを入力するだけです。
鍵を初めて作る時はディレクトリが自動で作られるため、カレントディレクトリの場所は気にしなくて良いです。
ただし既に鍵があり、追加で作りたい場合はディレクトリを移動する必要があります!
$ ssh-keygen -t rsa
何回か入力する場面がありますが、エンターを連打すればOKです。
ただし、既に鍵を作ったことがあり、かつ前の鍵を上書きされたくない場合は以下のEnter file in……のところでid_rsa以外の名前を入力する必要があります。
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/*****/.ssh/id_rsa):
Created directory '/Users/*****/.ssh'.
[Enter passphrase (empty for no passphrase):
[Enter same passphrase again:
Your identification has been saved in /Users/*****/.ssh/id_rsa
Your public key has been saved in /Users/*****/.ssh/id_rsa.pub
自動で鍵が生成され、ターミナルに表示されます。
The key fingerprint is:
SHA256:*****************************
The key's randomart image is:
+---[RSA *****]----+
ここで、ターミナルに表示されているディレクトリ「.ssh」は隠しフォルダなので、Macの場合は「shift + command + .」で表示する必要があります。
秘密鍵は.ssh/id_rsa、公開鍵は.ssh/id_rsa.pubに書かれています。
また、ターミナルで以下のコマンドを実行することでも、作成した鍵の確認ができます。
$ ls -l ~/.ssh
続いてはブラウザからGitHubにアクセスし、今生成した公開鍵の生成を行います。
公開鍵をGitHubに登録する
次に、生成した鍵のうち公開鍵の方をGitHubに登録していきます。
設定画面のサイドバーから「SSH&GPG keys」を選択し、1番上の方にある「New SSH key」を選択します。
出てきたメニューで
- Title(何でも良い)
- Key type(デフォルトのAuthentication Key)
- Key(公開鍵)
を入力して「Add SSH key」を選択すれば登録すれば完了です。
ちなみにここで入力するべき公開鍵は、ターミナルで
$ pbcopy < ~/.ssh/id_rsa.pub
と入力すればコピーできます。
GitHubにSSHキーが登録されていることを確認する
今度はPCのターミナルから以下のコードを実行します。
$ ssh -T git@github.com
すると以下のように表示されるので、途中でyesを入力してリターンキーを押せば完了です!
The authenticity of host github.com (********) can't be established.
ED25519 key fingerprintis SHA256:+*************.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (******) to the list of known hosts.
Hi *******! You've successfully authenticated, but GitHub does not provide shell access.
最後の1行が表示されていればSSH接続のための設定は完了です!
また、おそらくここまでの作業を行うとGitHubから「A new SSH authentication public key was added to your account」というメールが来ると思いますので、それでも確認できます。
GitHubのリポジトリからSSHでcloneする方法
それでは最後に、既にGitHub上にあるリポジトリをローカルにcloneする方法を簡単に解説します。
まずはGitHubのリポジトリを開いて、「<>Code」の隣にある下矢印から、SSHと書かれているタブを選択します。
SSH接続が正常にできている場合はこちらのスクショにあるアラートメッセージがなくなっているはずなので、URLをコピーします。
次に自分のPCのターミナルで使いたいディレクトリを移動し、git cloneの後にペーストすれば完了です。
$ git clone ****************
GitHubへのSSH Key登録まとめ
以上がGitHubでSSH keyを設定し、cloneまでを行う方法でした!
最後に流れをまとめておきます。
以上のような手順で、GitHubへSSH接続することが出来ます!