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 キーを生成する
-
ターミナルターミナルGit Bashを開いてください。
-
以下のテキストを貼り付けます。メールアドレスは自分の GitHub Enterprise Server メールアドレスに置き換えてください。
$ ssh-keygen -t ed25519 -C "your_email@example.com"
注釈: Ed25519 アルゴリズムをサポートしないレガシーシステムを使用している場合は、以下を使用します。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
> Generating public/private ed25519 key pair.
-
「Enter a file in which to save the key」というメッセージが表示されたら、Enter キーを押します。 これにより、デフォルトのファイル場所が受け入れられます。
> Enter a file in which to save the key (/Users/you/.ssh/id_ed25519): [Press enter]
> Enter a file in which to save the key (/c/Users/you/.ssh/id_ed25519):[Press enter]
> Enter a file in which to save the key (/home/you/.ssh/id_ed25519): [Press enter]
-
プロンプトで、安全なパスフレーズを入力します。 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、またはその他の外部ソースによってインストールされたアプリケーションは使用しないでください。
-
バックグラウンドでssh-agentを開始します。
$ eval "$(ssh-agent -s)" > Agent pid 59566
環境によっては、異なるコマンドを使う必要があるかもしれません。 たとえば、ssh-agentを開始する前に
sudo -s -H
を実行してルートアクセスを使わなければならないかもしれず、あるいはssh-agentを実行するのにexec ssh-agent bash
あるいはexec ssh-agent zsh
を実行しなければならないかもしれません。 -
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
-
-
SSH 秘密鍵を ssh-agent に追加して、パスフレーズをキーチェーンに保存します。 キーを別の名前で作成したか、別の名前を持つ既存のキーを追加しようとしている場合は、コマンド内のid_ed25519を秘密鍵ファイルの名前で置き換えてください。
$ ssh-add -K ~/.ssh/id_ed25519
メモ:
-K
オプションは、ssh-add
の Apple の標準バージョン内にあり、ssh-agent に SSH キーを追加する際にキーチェーンにパスフレーズを保存します。 キーにパスフレーズを追加しない場合は、-K
オプションを指定せずにコマンドを実行します。Apple の標準バージョンをインストールしていない場合は、エラーが発生する場合があります。 このエラーの解決方法についての詳細は、「エラー: ssh-add: illegal option -- K」を参照してください。
-
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キーを扱わずにリポジトリをクローンできます。
-
ssh-agent が実行されていることを確認します. 「SSH キーパスフレーズで操作する」の「ssh-agent を自動起動する」の手順を使用するか、手動で開始できます。
# start the ssh-agent in the background $ eval "$(ssh-agent -s)" > Agent pid 59566
-
SSH プライベートキーを ssh-agent に追加します。 キーを別の名前で作成したか、別の名前を持つ既存のキーを追加しようとしている場合は、コマンド内のid_ed25519を秘密鍵ファイルの名前で置き換えてください。
$ ssh-add ~/.ssh/id_ed25519
-
Add the SSH key to your account on GitHub Enterprise Server. For more information, see "Adding a new SSH key to your GitHub account."
-
バックグラウンドでssh-agentを開始します。
$ eval "$(ssh-agent -s)" > Agent pid 59566
環境によっては、異なるコマンドを使う必要があるかもしれません。 たとえば、ssh-agentを開始する前に
sudo -s -H
を実行してルートアクセスを使わなければならないかもしれず、あるいはssh-agentを実行するのにexec ssh-agent bash
あるいはexec ssh-agent zsh
を実行しなければならないかもしれません。 -
SSH プライベートキーを ssh-agent に追加します。 キーを別の名前で作成したか、別の名前を持つ既存のキーを追加しようとしている場合は、コマンド内のid_ed25519を秘密鍵ファイルの名前で置き換えてください。
$ ssh-add ~/.ssh/id_ed25519
-
Add the SSH key to your account on GitHub Enterprise Server. For more information, see "Adding a new SSH key to your GitHub account."