Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

新しい SSH キーを生成して ssh-agent に追� する

既存の SSH キーをチェックした後、新しい SSH キーを生成して認証に使用し、ssh-agent に追� できます。

SSH キー パスフレーズについて

SSH (Secure Shell プロトコル) を使用して、 のリポジトリ内のデータにアクセスして書き込むことができます。 SSH 経由で接続する� �合は、ローカル コンピューター上の秘密キー ファイルを使用して認証します。詳しくは、「SSH について」を参照してく� さい。

SSH キーを生成するときに、パスフレーズを追� してキーをさらにセキュリティで保護できます。 キーを使用するときは、必ずパスフレーズを入力する必要があります。 キーにパスフレーズがあり、キーを使用するたびにパスフレーズを入力したくない� �合は、SSH エージェントにキーを追� できます。 SSH エージェントでは SSH キーを管理し、パスフレーズを記憶します。

SSH キーがま� ない� �合は、認証に使う新しい SSH キーを生成する必要があります。 SSH キーが既にあるかどうかがわからない� �合は、既存のキーを確認できます。 詳しくは、「既存の SSH キーの確認」をご覧く� さい。

ハードウェア セキュリティ キーを使って GitHub Enterprise Server の認証を行う� �合は、ハードウェア セキュリティ キー用に新しい SSH キーを生成する必要があります。 キー ペアで認証を行うときに、ハードウェア セキュリティ キーをコンピューターに接続する必要があります。 詳しくは、OpenSSH 8.2 のリリース ノートをご覧く� さい。

新しい SSH キーを生成する

ローカル コンピューターで新しい SSH キーを生成できます。 キーを生成した後、your GitHub Enterprise Server instance 上のアカウントにキーを追� して、SSH 経由の Git 操作の認証を有効にすることができます。

your GitHub Enterprise Server instance のサイト管理者である� �合は、同じキーを使用して、インスタンスへの管理 SSH アクセスを自分に許可できます。 詳細については、「管理シェル (SSH) にアクセスする」を参照してく� さい。

  1. [ターミナル][ターミナル][Git Bash] を開きます。

  2. 以下のテキストを貼り付けます。メールアドレスは自分の 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_ssh_keyname をカスタ�  キー名に置き換えます。

    > Enter a file in which to save the key (/Users/YOU/.ssh/id_ALGORITHM: [Press enter]
    > Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]
    > Enter a file in which to save the key (/home/YOU/.ssh/ALGORITHM):[Press enter]
  3. プロンプトが表示されたら、セキュアなパスフレーズを入力します。 詳しくは、「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 キーをエージェントに追� するときは、macOS の既定の ssh-add コマンドを使うようにし、macportshomebrew、またはその他の外部ソースによってインストールされるアプリケーションは使わないでく� さい。

  1. バックグラウンドでssh-agentを開始します。

    $ eval "$(ssh-agent -s)"
    > Agent pid 59566

    環境によっては、異なるコマンドを使う必要があるかもしれません。 たとえば、ssh-agent を開始する前に sudo -s -H を実行してルート アクセスを使用したり、exec ssh-agent bashexec ssh-agent zsh を使用して ssh-agent を実行したりする必要がある� �合があります。

  2. macOS Sierra 10.12.2 以降を使っている� �合は、~/.ssh/config ファイルを修正して、キーが ssh-agent に自動的に読み込まれ、パスフレーズがキーチェーンに� �納されるようにする必要があります。

    • まず、~/.ssh/config ファイルが既定の� �所に存在するかどうかを調べます。

      $ open ~/.ssh/config
      > The file /Users/YOU/.ssh/config does not exist.
    • ファイルがない� �合は、ファイルを作成します。

      $ touch ~/.ssh/config
    • ~/.ssh/config ファイルを開き、以下の行が含まれるようにファイルを変更します。 SSH キーファイルの名前またはパスがサンプルコードと異なる� �合は、現在の設定に一致するようにファイル名またはパスを変更してく� さい。

      Host *.HOSTNAME
        AddKeysToAgent yes
        UseKeychain yes
        IdentityFile ~/.ssh/id_ed25519
      

      注:

      • キーにパスフレーズを追� しないようにする� �合は、UseKeychain の行を省略する必要があります。

      • Bad configuration option: usekeychain エラーが発生した� �合は、構成の Host *.HOSTNAME セクションに行をさらに追� します。

        Host *.HOSTNAME
          IgnoreUnknown UseKeychain
        
  3. SSH 秘密鍵を ssh-agent に追� して、パスフレーズをキーチェーンに保存します。 キーを別の名前で作成した� �合、または別の名前の既存のキーを追� する� �合は、コマンドの id_ed25519 を秘密キー ファイルの名前に置き換えます。

    $ ssh-add --apple-use-keychain ~/.ssh/id_ed25519

    注: --apple-use-keychain オプションでは、ssh-agent に SSH キーを追� すると、パスフレーズがキーチェーンに自動的に� �納されます。 パスフレーズをキーに追� しない� �合は、--apple-use-keychain オプションを指定せずにコマンドを実行します。

    --apple-use-keychain オプションは、Apple の標準バージョンの ssh-add です。 Monterey (12.0) より前の MacOS バージョンでは、--apple-use-keychain--apple-load-keychain フラグでそれぞれ構文 -K-A が使用されていました。

    Apple の標準バージョンの ssh-add をインストールしていない� �合は、エラーが発生することがあります。 詳しくは、「エラー: ssh-add: 無効なオプション -- K」をご覧く� さい。

  4. GitHub Enterprise Server で自分のアカウントに SSH キーを追� します。 詳しくは、「GitHub アカウントへの新しい SSH キーの追� 」をご覧く� さい。

GitHub Desktop をインストール済みの� �合、これを使って SSH キーを扱わずにリポジトリをクローンできます。

  1. ssh-agent が実行されていることを確認します。 「SSH キーのパスフレーズを使う」の ssh-agent の自動起動に関する手� �を使うか、手動で開始できます。

    # start the ssh-agent in the background
    $ eval "$(ssh-agent -s)"
    > Agent pid 59566
  2. SSH プライベートキーを ssh-agent に追� します。 キーを別の名前で作成した� �合、または別の名前の既存のキーを追� する� �合は、コマンドの id_ed25519 を秘密キー ファイルの名前に置き換えます。

    $ ssh-add ~/.ssh/id_ed25519

  3. GitHub Enterprise Server で自分のアカウントに SSH キーを追� します。 詳しくは、「GitHub アカウントへの新しい SSH キーの追� 」をご覧く� さい。

  1. バックグラウンドでssh-agentを開始します。

    $ eval "$(ssh-agent -s)"
    > Agent pid 59566

    環境によっては、異なるコマンドを使う必要があるかもしれません。 たとえば、ssh-agent を開始する前に sudo -s -H を実行してルート アクセスを使用したり、exec ssh-agent bashexec ssh-agent zsh を使用して ssh-agent を実行したりする必要がある� �合があります。

  2. SSH プライベートキーを ssh-agent に追� します。 キーを別の名前で作成した� �合、または別の名前の既存のキーを追� する� �合は、コマンドの id_ed25519 を秘密キー ファイルの名前に置き換えます。

    $ ssh-add ~/.ssh/id_ed25519

  3. GitHub Enterprise Server で自分のアカウントに SSH キーを追� します。 詳しくは、「GitHub アカウントへの新しい SSH キーの追� 」をご覧く� さい。

ハードウェア セキュリティ キー用の新しい SSH キーを生成する

macOS または Linux を使っている� �合は、新しい SSH キーを生成する前に、SSH クライアントの更新または新しい SSH クライアントのインストールが必要になる� �合があります。 詳しくは、「エラー: 不明なキーの種類」をご覧く� さい。

  1. ハードウェア セキュリティ キーをコンピューターに挿入します。

  2. [ターミナル][ターミナル][Git Bash] を開きます。

  3. 次のテキストを貼り付けて、GitHub Enterprise Server での自分のアカウントのメール アドレスに置き換えます。

    $ ssh-keygen -t ed25519-sk -C "YOUR_EMAIL"

    注: コマンドが失敗し、エラー invalid format または feature not supported, を受け取る� �合は、Ed25519 アルゴリズ� をサポートしていないハードウェア セキュリティ キーを使っている可能性があります。 代わりに、次のコマンドを入力します。

    $ ssh-keygen -t ecdsa-sk -C "your_email@example.com"
  4. メッセージが表示されたら、ハードウェア セキュリティ キーのボタンにタッチします。

  5. "キーを保存するファイルを入力してく� さい" というメッセージが表示されたら、Enter キーを押して既定のファイルの� �所をそのまま使います。

    > Enter a file in which to save the key (/Users/YOU/.ssh/id_ed25519_sk): [Press enter]
    > Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ed25519_sk):[Press enter]
    > Enter a file in which to save the key (/home/YOU/.ssh/id_ed25519_sk):[Press enter]
  6. パスフレーズの入力を求められたら、Enter キーを押します。

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
  7. GitHub で自分のアカウントに SSH キーを追� します。 詳しくは、「GitHub アカウントへの新しい SSH キーの追� 」をご覧く� さい。