Help us understand the problem. What is going on with this article?

GithubにSSH接続できるようにする

今回はGithubにSSH接続できるように設定していきます。

①なぜ?

Http形式やHttps形式などGithubで使える通信規格は何種類かあります。
一般的にはHttp形式やHttps形式が有名ですが、なぜSSH形式なんでしょうか?

SSHプロトコルを使うと、リモートサーバーや各種サービスへの接続や認証が可能になります。SSHキーを使うと、GitHubとの接続のたびにユーザー名やパスワードを省略できます。

Https形式だと例えば、pushするたびにユーザー名とパスワードが必要になり、かなりの手間がかかります。

SSHの設定をすれば、パスワードによる認証を一切無効にして、鍵での認証のみにするといったことがよく行われます。

②鍵とは?

鍵とは「公開鍵」と「秘密鍵」です。ここでは簡単に解説してみます。

公開鍵と秘密鍵の2つの鍵を作ります。公開鍵は一般に公開するためのもの、秘密鍵は自分だけのものとします。

公開鍵で鍵をかけたものは、秘密鍵でしか開けられません。逆もまたしかりで、秘密鍵で鍵をすると公開鍵でしか開けられません。

Githubに登録する際には、自分の手で2つの鍵を作ります。秘密鍵は自分で保持し(他の人に見られてはいけません)、あらかじめ通信する相手、ここではGitHubに登録します。

GitHub側とクライアントPC側、双方がこれらの鍵を使って認証や暗号化通信を行います。

③Githubに登録する手順

まずは、公開鍵と秘密鍵のペアを作成します。

$cd ~/.ssh

鍵を入れるフォルダに移動します。

$ssh-keygen -t rsa

そして、鍵を生成します。

パスワードを聞かれたらエンターを押すと、「id_rsa」(秘密鍵)と「id_rsa.pub」(公開鍵)の2つの鍵が生成されます。

Your identification has been saved in (特定のパス)/.ssh/id_rsa_github.
Your public key has been saved in (特定のパス)/.ssh/id_rsa_github.pub.
The key fingerprint is:
SHA256:【略】 your_email@example.com
The key's randomart image is:
+---[RSA 4096]----+
...(snip)...      
+----[SHA256]-----+

そして、公開鍵をGithubにアップします。

https://github.com/settings/ssh

で公開鍵の設定が出来ます。

「New SSH Key」をクリックし、登録画面に移動します。

スクリーンショット 2019-10-20 19.11.00.png

「Title」に公開鍵名、「Key」に公開鍵の中身を入れます。

ファイルの中に羅列された文字列をコピペしてアップロードします。

なお、鍵の中身のクリップボードへのコピーは下記コマンドで行えます。

Macの場合

$ pbcopy < ~/.ssh/id_rsa.pub

Windowsの場合

$ clip < ~/.ssh/id_rsa.pub

これでペーストできるようになります。

もしできなければ、下記コマンドでKeyを確認できるので(長い文字列が表示されるはず)、コピペでも問題ありません。

$ vim ~/.ssh/id_rsa.pub

入力後は「Add Key」ボタンで登録したら完了です。

④接続確認

下記コマンドで確認します。

$ ssh -T git@github.com

「Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access.」と返ってきたら成功です!

手順としてはそこまで大変ではない上に毎回手間がかかる入力が省けるので、ぜひ試してみてください!

参照

Githubヘルプ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした