素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

【セキュリティ向上】SSHキーを作成してMacからGithubにHttps通信ではなくSSH接続してみよう【ターミナル操作】

投稿日: 2018年3月12日
最終更新日:

スポンサーリンク

336×280




HTTPSとSSH

どっちを使うべき?

Githubを使っていると、リポジトリをcloneしたりpushする際に、HTTPSSSHどちらを使えば良いか?と言う点で悩むことがあると思います。

推奨はHTTPS

Githubとしては推奨はHTTPSとしています。

HTTPS通信で認証を行う場合は、認証はGitHubのユーザー名/パスワードによる認証となります。
また、SSH方式より高速です。

セキュリティ的にはSSH

しかし、JenkinsAnsibleその他のミドルウェアからGithubにアクセスする際は、基本的にはSSH方式で接続を行っていると思います。
多少、通信速度は落ちます公開鍵方式を用いるのでセキュリティがしっかりしています。

今回はMacでのSSHキーの作成からGithubへのSSH方式での接続確認までの手順を紹介致します。

手順

SSHキーの作成

まずはSSHキーを作成しましょう。
ターミナルから、以下のコマンドを実行してください。

するとターミナルに以下の入力を求められます。

メッセージ 内容
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa): 生成するファイルの名称を求められます。デフォルトのid_rsaで良ければ何も入力せずにエンターキーを押しましょう。
Enter passphrase (empty for no passphrase): パスフレーズの入力を求められます。特に設定不要なら何も入力せずにエンターキーを押しましょう。
Enter same passphrase again: パスフレーズの再入力を求められます。指定していなければ何も入力せずにエンターキーを押しましょう。

正常にSSHキーが生成されると以下のようなログが表示されます。

そうすると、~/.ssh/ディレクトリの中に以下の2つのファイルが作成されていると思います。

ファイル名 説明
xxx_rsa_id 秘密鍵。基本的にこのファイルはそのままノータッチ。
xxx_rsa_id.pub 公開鍵。こちらの情報を各種サーバーや外部サービスに登録することでSSH通信を可能にします。

公開鍵の内容をGithubに登録するので、catコマンドやvimコマンドでクリップボード等にコピーしておいてください。

Githubに公開鍵の登録

次にGithub側に上記で作成した公開鍵の情報を登録します。

まず、Githubにログインしたら、アカウントメニュー>Settingをクリックします。

左部Personal settingメニューからSSH and GPG keysをクリックします。

Titleに任意の名前をつけて、Keyに先ほどコピーした公開鍵の情報を入力したらAdd SSH keyボタンをクリックします。

これでGithubに公開鍵が登録されました。

configファイルの作成

次にconfigファイルを作成します。
configファイルとは、ssh経由でのリモートサーバーの接続する際に利用される設定ファイルです。

このファイルを用意すると、以下のコマンド毎回打つ必要が無くなり、とてもすっきりします。

今回は以下のソースを追加してください。

接続確認

では、ここでローカルマシンからGithubへの接続確認をしてみましょう。

以下のコマンドを実行してみてください。

以下のログがターミナルに表示されればSSH通信の設定が完了です♪

※前半のメッセージは初回接続時のみ表示されます

終わりに

以上のように、思っていた以上に簡単にSSHでの通信準備が整いました。

Githubへの通信はHTTPS通信でも可能ですが、認証キーを用いた接続方法を覚えておくことで他のサービスやシステムを使う際に役に立つので、ぜひSSH通信の設定方法を覚えてみてください。

336×280




336×280




CATEGORIES & TAGS

IT, , , , ,

blogenist

Author: blogenist