SSH キーを使用して Github アクセスを保護する方法

SSH キーを使用して Github アクセスを保護する方法
Github Web ページの前にある Github マスコットの写真。

SSH キーを Github にリンクすることは、アカウントを保護する際の重要な手順の 1 つです。これにより、公開キー暗号化の力を利用して Git リポジトリを保護できます。この記事では、SSH キーとは何か、およびそれを使用して Github アカウントを強化する方法を説明します。

SSH キーとは何ですか?

要点では、SSH キーはリモート サーバーに保存する公開キーです。これらは、ユーザー名とパスワードを指定せずにマシンに接続して対話できるようにする認証プロキシとして機能します。

SSH 公開キーの例を示す端末。

その仕組みは、SSH 経由でマシンに接続するたびに、ローカル コンピューターが SSH 秘密キーで署名されたメッセージを送信することです。次に、リモート マシンは公開 SSH キーを使用してメッセージの信頼性を確認し、ログインします。

Github は同じアプローチを使用して、サーバー内でユーザーの身元を確認します。 Web サイトは、リポジトリをアップロードおよび変更するたびに、公開キーを使用します。これにより、コミットをプッシュするときに Github 認証情報が公開されなくなります。

Github 用の SSH キーの生成

まず、ディストリビューションのアプリケーション ランチャーを使用して新しいターミナル セッションを開きます。

マシンに OpenSSH がインストールされており、SSH エージェント デーモンが現在実行されていることを確認します。

次のコマンドを実行してSSH キー生成ウィザードを開始します。

ウィザードは、キーにカスタム SSH キーファイル名を使用するかどうかを尋ねます。 Enter を押して、デフォルトの名前と場所を受け入れます。

ファイルの場所を示すターミナルに新しい SSH キーの入力を求めるプロンプトが表示されます。

新しい SSH キーのパスワードを入力します。これは、ローカル マシンが Github アカウントに接続するときのパスフレーズとして機能します。

新しい SSH キーのパスワード プロンプトを表示する端末。

新しく生成された SSH キーを現在実行中の SSH エージェントに追加します。

Github への SSH キーの追加

新しい SSH キーを起動して実行すると、ローカル マシンを Github アカウントにリンクできるようになります。まず、次のコマンドを実行して SSH 公開キーを出力します。

SSH 公開キーを強調表示し、右クリックして「コピー」を選択します。

コンテキスト メニュー プロンプト内に [コピー] オプションが表示されている端末。

新しいブラウザ セッションを開き、Github ホームページに移動します。

ページの右上隅にあるプロフィール アイコンをクリックします。

デフォルトの Github ホームページのスクリーンショット。

ドロップダウンリストから「設定」をクリックします。

Github プロファイル メニューの [設定] オプションを強調表示したスクリーンショット。

設定ページの左側のサイドバーにある「SSH および GPG キー」を選択します。

Github 設定メニューの SSH および GPG キー オプションを強調表示するスクリーンショット。

「SSH キー」ヘッダーの横にある「新しい SSH キー」ボタンをクリックします。

SSH および GPG キー ページ内の [新しい SSH キー] ボタンを強調表示したスクリーンショット。

「タイトル」テキストボックスを選択し、キーの名前を入力します。

「キー」テキストボックスをクリックし、Ctrl + V を押して SSH キーを貼り付けます。

「SSH キーの追加」をクリックして、新しい設定をコミットします。

安全な Github アクセス Ssh キー 09 Ssh キーの追加ボタン

新しいターミナル セッションを開き、次のコマンドを実行します。

「yes」と入力し、Enter を押します。

SSH フィンガープリントを信頼するためのプロンプトを強調表示する端末。

これを実行すると、Github の受信サーバーの 1 つへの新しい SSH セッションが開始されます。キーが正常に機能している場合は、SSH 接続を確認する短いメッセージが出力されます。

Github からの短い確認メッセージを強調表示するターミナル。

SSH キーの管理

ほとんどのユーザーには 1 つの SSH キーで十分ですが、複数のマシン間でホストされている Git リポジトリを同期する必要がある場合もあります。これを行うには、マシン固有の SSH キーをインポートする必要があります。

Github にリンクするコンピューター上で新しいターミナル セッションを開きます。

OpenSSH デーモンがシステムにインストールされ、実行されていることを確認します。

次のコマンドを実行して、新しいマシン用に個別の SSH キーを作成します。

新しい SSH キーの安全なパスフレーズを入力し、Enter を押します。

新しい代替キーを SSH エージェントに追加します。

SSH 公開キーの内容を印刷し、システムのクリップボードにコピーします。

Github アカウントの「SSH および GPG キー」ページに戻ります。

もう一度「新しいSSHキー」ボタンをクリックします。

新しいキーに一意のラベルを指定し、クリップボードの内容を「キー」テキストボックスの下に貼り付けます。

Github の新しい代替キーを示すスクリーンショット。

「SSH キーの追加」をクリックして新しい設定を適用します。

SSH 経由でログインして、新しいマシンが安全なキーを使用して Github に接続するかどうかをテストします。

新しく生成されたキーを Github に送信する以外に、マシン内にすでにある既存の SSH キーを変更することもできます。これは、すでにLinux でパスワードなしのログインとして SSH キーを使用している場合に便利です。

既存のキーを変更するには、マシンの「.ssh」ディレクトリに移動します。

ssh-keygen-p-o-f フラグとともに実行します。 SSHキー。これにより、既存の秘密キーのパスワードを変更できるようになります。

-c フラグを使用して、公開キー内に埋め込まれたメール アドレスを変更することもできます。

新しく更新されたキーを使用して SSH エージェントをリロードします。

Github プロファイルから対応する SSH 公開キーを置き換えます。

Github で新しく変更された SSH キーを示すスクリーンショット。

Github から SSH キーを削除する

新しいターミナル セッションを開き、SSH エージェント デーモンを起動します。

次のコマンドを実行して、マシン内の SSH 秘密キーを削除します。

Github アカウントの「SSH および GPG キー」カテゴリに戻ります。

このページの SSH キーのリストをスクロールし、削除する SSH キーの [削除] をクリックします。

新しく変更された SSH キーの [削除] ボタンを強調表示したスクリーンショット。

「理解しました。この SSH キーを削除します。」をクリックします。

SSH キーを削除するための最終確認プロンプトを強調表示するスクリーンショット。

Github サーバーのいずれかへの SSH セッションを開始して、古い SSH キーが無効になっていることを確認します。

SSH キーをリンクして Github アカウントを保護することは、公開キー暗号化と暗号化の仕組みを理解するための最初のステップにすぎません。保存データの暗号化について詳しくは、Rclone を使用して暗号化されたクラウド バックアップを作成するをご覧ください。

一方、Git フックを使用することで、自動リポジトリ管理について詳しく学ぶこともできます。

画像クレジット: Roman Synkevych、Unsplash 経由。すべての変更とスクリーンショットは Ramces Red によるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です