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

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

About SSH key generation

If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "Checking for existing SSH keys."

If you don't want to reenter your passphrase every time you use your SSH key, you can add your key to the SSH agent, which manages your SSH keys and remembers your passphrase.

新しい 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"

This creates a new SSH key, using the provided email as a label.

> Generating public/private algorithm key pair.
  1. 「Enter a file in which to save the key」というメッセージが表示されたら、Enter キーを押します。 これにより、デフォルトのファイル場所が受け入れられます。

    > 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]
  2. プロンプトで、安全なパスフレーズを入力します。 For more information, see "Working with SSH key passphrases."

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]

SSH キーを ssh-agent に追加する

Before adding a new SSH key to the ssh-agent to manage your keys, you should have checked for existing SSH keys and generated a new SSH key. エージェントに SSH キーを追加する際、デフォルトの macOS の ssh-add コマンドを使用してください。macports、[homebrew] (http://brew.sh/)、またはその他の外部ソースによってインストールされたアプリケーションは使用しないでください。

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

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

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

  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 *
        AddKeysToAgent yes
        UseKeychain yes
        IdentityFile ~/.ssh/id_ed25519
      

      注釈: キーにパスフレーズを追加しない場合は、UseKeychain 行を省略してください。

      Note: If you see an error like this

      /Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain
      

      add an additional config line to your Host * section:

      Host *
        IgnoreUnknown UseKeychain
      
  3. SSH 秘密鍵を ssh-agent に追加して、パスフレーズをキーチェーンに保存します。 If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_ed25519 in the command with the name of your private key file.

    $ ssh-add -K ~/.ssh/id_ed25519

    Note: The -K option is Apple's standard version of ssh-add, which stores the passphrase in your keychain for you when you add an SSH key to the ssh-agent. キーにパスフレーズを追加しない場合は、-K オプションを指定せずにコマンドを実行します。

    Apple の標準バージョンをインストールしていない場合は、エラーが発生する場合があります。 このエラーの解決方法についての詳細は、「エラー: ssh-add: illegal option -- K」を参照してください。

    In MacOS Monterey (12.0), the -K and -A flags are deprecated and have been replaced by the --apple-use-keychain and --apple-load-keychain flags, respectively.

  4. Add the SSH key to your account on GitHub Enterprise Server. For more information, see "Adding a new SSH key to your GitHub account."

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 に追加します。 If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_ed25519 in the command with the name of your private key file.

    $ ssh-add ~/.ssh/id_ed25519
  3. Add the SSH key to your account on GitHub Enterprise Server. For more information, see "Adding a new SSH key to your GitHub account."

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

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

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

  2. SSH プライベートキーを ssh-agent に追加します。 If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_ed25519 in the command with the name of your private key file.

    $ ssh-add ~/.ssh/id_ed25519
  3. Add the SSH key to your account on GitHub Enterprise Server. For more information, see "Adding a new SSH key to your GitHub account."

参考リンク

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?