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

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

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

YouTubeも見てね♪

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2024/04/03 21:33:13時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥33,430 (2024/04/03 21:42:09時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥2,600 (2024/04/03 21:42:16時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,748 (2024/04/03 21:33:15時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,250 (2024/04/03 21:42:09時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK

created by Rinker
Bauhutte(バウヒュッテ)
¥14,935 (2024/04/03 21:42:10時点 Amazon調べ-詳細)

メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

created by Rinker
MOFT
¥2,880 (2024/04/03 21:42:18時点 Amazon調べ-詳細)

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

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通信の設定方法を覚えてみてください。

CATEGORIES & TAGS

IT