お問い合わせはこちら

【入門】Githubにsshで接続する手順・注意点まとめ

公開
更新
githubのssh接続

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に接続できるのです。

公開鍵暗号方式

対になる秘密鍵・公開鍵を使って暗号化する方式です。データの送信者は、受信者から取得した公開鍵を使って暗号化を行います。公開鍵を使って暗号化されたデータは、その対となる秘密鍵でしか暗号解除(複号化)できません。受信者は自分だけが所有している秘密鍵を使って、データを暗号解除します。

公開鍵暗号方式のイメージ

GitHubにSSH接続する手順

GitHubへSSHで接続するためには、公開鍵・秘密鍵を発行し公開鍵をGitHubへアップロードする必要があります。以下、具体的な手順について1つずつみていきましょう。

※すでにGitHubのアカウント登録や初期設定がすんでいるものとします。
GitHubのアカウント登録や初期設定については、以下記事を参考にして下さい。

【入門】GitHubの使い方|設定や基本操作など

【入門】GitHubの使い方|設定や基本操作など

GitHubは世界中のエンジニアが開発を行う際に、プログラムのソースコードを共有するのに利用しているサービスです。初めてGitHubを使うときは、GitHub独自のルールや使い方を把握する必要があります。ただ、GitHubで使うコマンドや管理画面の操作は難しくないので、1度理解すれば簡単に使えるでしょう。 なおGitHubの基本的な知識については、以下記事で解説しています。GitHubの概要から学…

ssh-keygenコマンドで公開鍵・秘密鍵を発行する

まずはssh-keygenコマンドを使って公開鍵・秘密鍵を発行します。

コマンドラインツール「Git Bash」にて、以下コマンドを実行してください。

ssh-keygen -t rsa

以下のように、ファイルの保存場所やパスワードを指定するように求められます。今回は、何も入力せず「Enter」を押し続けてください。

ssh-keygenコマンドの画面

これで公開鍵・秘密鍵の作成が完了し、以下のように表示されます。

公開鍵・秘密鍵の作成完了画面

GitHubに公開鍵をアップロードする

作成した公開鍵をGitHubにアップロードします。まず、以下コマンドを実行し公開鍵(id_rsa.pub)の内容を表示させてください。

cat /c/Users/ユーザー名/.ssh/id_rsa.pub

※公開鍵の保存場所については、秘密鍵・公開鍵を作成した際に表示されています。
(「/c/Users/ユーザー名/.ssh/id_rsa.pub」の部分)

公開鍵の内容が表示されるので、「ssh-rsa…」からはじまる箇所をコピーしておきます。

次にブラウザでGitHubの管理画面へアクセスし、右上のアイコンから「Settings」へ進んでください。

GitHubの設定場所

次に画面左側に表示されたメニューの中から、「SSH and GPG keys」を選んで下さい。

sshキーの設定場所

「SSH and GPG keys」のメニューが表示されます。SSH keys欄にある「New SSH Key」をクリックして下さい。

sshkeyの作成

「SSH keys/Add new」画面が表示されます。以下の通り入力し「Add SSH key」をクリックして下さい。

Title登録する公開鍵につける名前を入力します。
自分でわかりやすいように、任意の文字列を入力してください。
Key type「Authentication Key」を選んでください。
Key先程コピーした、公開鍵の文字列を貼り付けてください。
sshkeyの追加

これで、GitHubへ公開鍵をアップロードできました。

GitHubのリポジトリへSSH接続する

公開鍵のアップロードまですんだら、以下コマンドを実行してください。

ssh -T git@github.com

以下のように表示されたら接続は完了です。

Hi (user_name)! You've successfully authenticated, but GitHub does not provide shell access.
ssh接続完了画面

GitHubにSSH接続する際の注意点

SSH接続をするため、GitHubへ公開鍵を登録しました。この場合、その対となる秘密鍵さえあれば、GitHubへ簡単にSSH接続できることになります。

言い換えれば、秘密鍵さえあれば悪意のある第三者も、GitHubへ不正にアクセスできるようになってしまうわけです。そういった被害を防ぐためにも、秘密鍵が漏えいしてしまうことがないように、十分に注意する必要があります。

まとめ

GitHubへSSH接続する場合、アクセスの度にパスワードを入力する必要がありません。その分、GitHubへ簡単に手間なくアクセスできるようになります。

GitHubへSSHで接続するためには、秘密鍵と公開鍵を発行することが必要です。その上で、GitHubへ公開鍵をアップロードすれば、GitHubへSSH接続できるようになります。

作成した秘密鍵は、第三者に漏えいしてしまうことがないように注意して下さい。仮に悪意のある第三者に秘密鍵がわたってしまうと、GitHubへ不正にアクセスされコードが盗まれるなどの被害を受ける可能性があります。

Git利用が可能なレンタルサーバー

KAGOYAのレンタルサーバ―はSSH機能を備えているため、Gitコマンドをご利用いただけます!
リーズナブルなプランからハイスペックなプランまで選択可能なため、事業用や練習用など用途に合わせて選ぶことができます。

【入門】GitHub からレンタルサーバーにコマンドひとつでアップする方法

【入門】GitHub からレンタルサーバーにコマンドひとつでアップする方法

Webサイトのコードや、WordPressの自作テーマ、カスタマイズしたテーマを GitHub で管理する場合、開発したソースコードを Webサーバーに公開する方法はいくつかあります。この記事では GitHub とレンタルサーバーを SSH 接続し、GitHub からレンタルサーバーへ Clone(Pull)することで公開する手順を解説します。 なお、GitHubについて詳しくは以下のページで解説…