SSH キー パスフレーズについて
SSH (Secure Shell プロトコル) を使用して、お使いの GitHub Enterprise Server インスタンス 上のリポジトリ内のデータにアクセスし、書き込みを行うことができます。 SSH 経由で接続する場合は、ローカル コンピューター上の秘密キー ファイルを使用して認証します。 詳しくは、「SSH について」をご覧ください。
SSH キーを生成するときに、パスフレーズを追加してキーをさらにセキュリティで保護できます。 キーを使用するときは、必ずパスフレーズを入力する必要があります。 キーにパスフレーズがあり、キーを使用するたびにパスフレーズを入力したくない場合は、SSH エージェントにキーを追加できます。 SSH エージェントでは SSH キーを管理し、パスフレーズを記憶します。
SSH キーがまだない場合は、認証に使う新しい SSH キーを生成する必要があります。 SSH キーが既にあるかどうかがわからない場合は、既存のキーを確認できます。 詳しくは、「既存の SSH キーの確認」を参照してください。
ハードウェア セキュリティ キーを使って GitHub Enterprise Server の認証を行う場合は、ハードウェア セキュリティ キー用に新しい SSH キーを生成する必要があります。 キー ペアで認証を行うときに、ハードウェア セキュリティ キーをコンピューターに接続する必要があります。 詳しくは、OpenSSH 8.2 のリリース ノートをご覧ください。
新しい SSH キーを生成する
ローカル コンピューターで新しい SSH キーを生成できます。 鍵を生成すると、お使いの GitHub Enterprise Server インスタンス のアカウントに公開鍵を追加して、SSH 経由の Git 操作の認証を有効にすることができます。
お使いの GitHub Enterprise Server インスタンス のサイト管理者である場合は、同じキーを使用して、インスタンスへの管理 SSH アクセスを自分に許可できます。 詳しくは、「管理シェル (SSH) にアクセスする」を参照してください。
-
[ターミナル] を開きます。
-
以下のテキストを貼り付け、例で使用されているメールを GitHub Enterprise Server メール アドレスに置き換えます。
ssh-keygen -t ed25519 -C "your_email@example.com"
注: Ed25519 アルゴリズムをサポートしていないレガシ システムを使っている場合は、以下を使います。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
これにより、指定したメールアドレスをラベルとして使って新しい SSH キーが作成されます。
> Generating public/private ALGORITHM key pair.
"キーを保存するファイルを入力してください" というメッセージが表示されたら、Enter キーを押して既定のファイルの場所をそのまま使うことができます。 以前に SSH キーを作成した場合、ssh-keygen から別のキーの書き換えを求められる場合があることに注意してください。その場合は、カスタム名の SSH キーを作成することをお勧めします。 そのためには、デフォルトのファイル位置をタイプし、id_ALGORITHMをカスタムキー名で置き換えます。
> Enter a file in which to save the key (/home/YOU/.ssh/id_ALGORITHM):[Press enter]
-
プロンプトが表示されたら、セキュアなパスフレーズを入力します。 詳しくは、「SSH キーのパスフレーズを使う」を参照してください。
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
SSH キーを ssh-agent に追加する
ssh-agent に新しい SSH キーを追加してキーを管理する前に、既存の SSH キーを確認し、新しい SSH キーを生成しておく必要があります。
-
バックグラウンドでssh-agentを開始します。
$ eval "$(ssh-agent -s)" > Agent pid 59566
環境によっては、異なるコマンドを使う必要があるかもしれません。 たとえば、ssh-agent を開始する前に
sudo -s -H
を実行してルート アクセスを使用したり、exec ssh-agent bash
やexec ssh-agent zsh
を使用して ssh-agent を実行したりする必要がある場合があります。 -
SSH プライベートキーを ssh-agent に追加します。
キーを別の名前で作成した場合、または別の名前の既存のキーを追加する場合は、コマンドの id_ed25519 を秘密キー ファイルの名前に置き換えます。
ssh-add ~/.ssh/id_ed25519
-
GitHub で自分のアカウントに SSH 公開キーを追加します。 詳しくは、「GitHub アカウントへの新しい SSH キーの追加」を参照してください。
ハードウェア セキュリティ キー用の新しい SSH キーを生成する
macOS または Linux を使っている場合は、新しい SSH キーを生成する前に、SSH クライアントの更新または新しい SSH クライアントのインストールが必要になる場合があります。 詳しくは、「エラー: 不明なキーの種類」を参照してください。
-
ハードウェア セキュリティ キーをコンピューターに挿入します。
-
[ターミナル] を開きます。
-
以下のテキストを貼り付け、例で使用されているメールを貴方のアカウントと関連付けられたメール アドレスGitHub Enterprise Serverに置き換えます。
ssh-keygen -t ed25519-sk -C "your_email@example.com"
注: コマンドが失敗し、エラー
invalid format
またはfeature not supported,
を受け取る場合は、Ed25519 アルゴリズムをサポートしていないハードウェア セキュリティ キーを使っている可能性があります。 代わりに、次のコマンドを入力します。ssh-keygen -t ecdsa-sk -C "your_email@example.com"
-
メッセージが表示されたら、ハードウェア セキュリティ キーのボタンにタッチします。
-
"キーを保存するファイルを入力してください" というメッセージが表示されたら、Enter キーを押して既定のファイルの場所をそのまま使います。
> Enter a file in which to save the key (/home/YOU/.ssh/id_ed25519_sk):[Press enter]
-
パスフレーズの入力を求められたら、Enter キーを押します。
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
-
GitHub で自分のアカウントに SSH 公開キーを追加します。 詳しくは、「GitHub アカウントへの新しい SSH キーの追加」を参照してください。