![githubのssh接続](https://www.kagoya.jp/howto/wp-content/uploads/githubssh.jpg)
GitHubはHTTPSの他、SSHでも接続することができます。GitHubを使い慣れてくると、「SSHで接続したい」と考える方も多いのではないでしょうか。
GitHubはSSH接続を受け付けるための管理画面を用意しており、SSH接続を行う手順は難しくありません。コマンド操作に慣れた方であれば、手順さえわかればすぐに必要な操作を完了できるでしょう。
この記事では、GitHubにSSH接続するメリットやSSHで接続する手順、注意点について解説します。
目次 [非表示]
GitHubにSSH接続するメリット・理由
GitHubにはSSHの他、HTTPSでも接続できます。SSH・HTTPSのいずれも通信を暗号化できますが、SSHによる接続を選ぶことでどのようなメリットがあるでしょうか。
SSH接続するメリット・理由としてSSHによる接続の方が、HTTPSによる接続よりシンプルで手間がかからない点があげられます。HTTPSでGitHubに接続する場合、アクセスの度にパスワードによる認証が必要です。
一方でSSHは公開鍵暗号方式(※)による認証が行われる代わりに、パスワードによる認証を必要としません。毎回パスワードを打ち込む必要がなくなる分、SSHの方がシンプルかつ手間なくGitHubに接続できるのです。
対になる秘密鍵・公開鍵を使って暗号化する方式です。データの送信者は、受信者から取得した公開鍵を使って暗号化を行います。公開鍵を使って暗号化されたデータは、その対となる秘密鍵でしか暗号解除(複号化)できません。受信者は自分だけが所有している秘密鍵を使って、データを暗号解除します。
![公開鍵暗号方式のイメージ](https://www.kagoya.jp/howto/wp-content/uploads/sshkey.png)
GitHubにSSH接続する手順
GitHubへSSHで接続するためには、公開鍵・秘密鍵を発行し公開鍵をGitHubへアップロードする必要があります。以下、具体的な手順について1つずつみていきましょう。
※すでにGitHubのアカウント登録や初期設定がすんでいるものとします。
GitHubのアカウント登録や初期設定については、以下記事を参考にして下さい。
![【入門】GitHubの使い方|設定や基本操作など](https://www.kagoya.jp/howto/wp-content/uploads/usegithub_catch.png)
GitHubは世界中のエンジニアが開発を行う際に、プログラムのソースコードを共有するのに利用しているサービスです。初めてGitHubを使うときは、GitHub独自のルールや使い方を把握する必要があります。ただ、GitHubで使うコマンドや管理画面の操作は難しくないので、1度理解すれば簡単に使えるでしょう。 なおGitHubの基本的な知識については、以下記事で解説しています。GitHubの概要から学…
ssh-keygenコマンドで公開鍵・秘密鍵を発行する
まずはssh-keygenコマンドを使って公開鍵・秘密鍵を発行します。
コマンドラインツール「Git Bash」にて、以下コマンドを実行してください。
ssh-keygen -t rsa
以下のように、ファイルの保存場所やパスワードを指定するように求められます。今回は、何も入力せず「Enter」を押し続けてください。
![ssh-keygenコマンドの画面](https://www.kagoya.jp/howto/wp-content/uploads/ssh-keygencommand0.png)
これで公開鍵・秘密鍵の作成が完了し、以下のように表示されます。
![公開鍵・秘密鍵の作成完了画面](https://www.kagoya.jp/howto/wp-content/uploads/ssh-keygencommand.png)
GitHubに公開鍵をアップロードする
作成した公開鍵をGitHubにアップロードします。まず、以下コマンドを実行し公開鍵(id_rsa.pub)の内容を表示させてください。
cat /c/Users/ユーザー名/.ssh/id_rsa.pub
※公開鍵の保存場所については、秘密鍵・公開鍵を作成した際に表示されています。
(「/c/Users/ユーザー名/.ssh/id_rsa.pub」の部分)
公開鍵の内容が表示されるので、「ssh-rsa…」からはじまる箇所をコピーしておきます。
次にブラウザでGitHubの管理画面へアクセスし、右上のアイコンから「Settings」へ進んでください。
![GitHubの設定場所](https://www.kagoya.jp/howto/wp-content/uploads/77f78c7bd8dd6a7fa4bdf98e479f296d.png)
次に画面左側に表示されたメニューの中から、「SSH and GPG keys」を選んで下さい。
![sshキーの設定場所](https://www.kagoya.jp/howto/wp-content/uploads/sshandgpgkeys.png)
「SSH and GPG keys」のメニューが表示されます。SSH keys欄にある「New SSH Key」をクリックして下さい。
![sshkeyの作成](https://www.kagoya.jp/howto/wp-content/uploads/GitHubdashboard.png)
「SSH keys/Add new」画面が表示されます。以下の通り入力し「Add SSH key」をクリックして下さい。
Title | 登録する公開鍵につける名前を入力します。 自分でわかりやすいように、任意の文字列を入力してください。 |
Key type | 「Authentication Key」を選んでください。 |
Key | 先程コピーした、公開鍵の文字列を貼り付けてください。 |
![sshkeyの追加](https://www.kagoya.jp/howto/wp-content/uploads/addsshkeys.png)
これで、GitHubへ公開鍵をアップロードできました。
GitHubのリポジトリへSSH接続する
公開鍵のアップロードまですんだら、以下コマンドを実行してください。
ssh -T git@github.com
以下のように表示されたら接続は完了です。
Hi (user_name)! You've successfully authenticated, but GitHub does not provide shell access.
![ssh接続完了画面](https://www.kagoya.jp/howto/wp-content/uploads/SSHgithub.png)
GitHubにSSH接続する際の注意点
SSH接続をするため、GitHubへ公開鍵を登録しました。この場合、その対となる秘密鍵さえあれば、GitHubへ簡単にSSH接続できることになります。
言い換えれば、秘密鍵さえあれば悪意のある第三者も、GitHubへ不正にアクセスできるようになってしまうわけです。そういった被害を防ぐためにも、秘密鍵が漏えいしてしまうことがないように、十分に注意する必要があります。
まとめ
GitHubへSSH接続する場合、アクセスの度にパスワードを入力する必要がありません。その分、GitHubへ簡単に手間なくアクセスできるようになります。
GitHubへSSHで接続するためには、秘密鍵と公開鍵を発行することが必要です。その上で、GitHubへ公開鍵をアップロードすれば、GitHubへSSH接続できるようになります。
作成した秘密鍵は、第三者に漏えいしてしまうことがないように注意して下さい。仮に悪意のある第三者に秘密鍵がわたってしまうと、GitHubへ不正にアクセスされコードが盗まれるなどの被害を受ける可能性があります。
KAGOYAのレンタルサーバ―はSSH機能を備えているため、Gitコマンドをご利用いただけます!
リーズナブルなプランからハイスペックなプランまで選択可能なため、事業用や練習用など用途に合わせて選ぶことができます。
![【入門】GitHub からレンタルサーバーにコマンドひとつでアップする方法](https://www.kagoya.jp/howto/wp-content/uploads/hithub_pushsever_catch.jpg)
【入門】GitHub からレンタルサーバーにコマンドひとつでアップする方法
Webサイトのコードや、WordPressの自作テーマ、カスタマイズしたテーマを GitHub で管理する場合、開発したソースコードを Webサーバーに公開する方法はいくつかあります。この記事では GitHub とレンタルサーバーを SSH 接続し、GitHub からレンタルサーバーへ Clone(Pull)することで公開する手順を解説します。 なお、GitHubについて詳しくは以下のページで解説…
![](https://www.kagoya.jp/howto/wp-content/uploads/for-expert_1200-628-1024x536.jpg)