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"
This creates a new SSH key, using the provided email as a label.
> Generating public/private algorithm 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_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]
-
プロンプトで、安全なパスフレーズを入力します。 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/)、またはその他の外部ソースによってインストールされたアプリケーションは使用しないでください。
-
バックグラウンドで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 に追加して、パスフレーズをキーチェーンに保存します。 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 ofssh-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」を参照してください。
-
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 に追加します。 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
-
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 に追加します。 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
-
Add the SSH key to your account on GitHub Enterprise Server. For more information, see "Adding a new SSH key to your GitHub account."