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、またはその他の外部ソースによってインストールされたアプリケーションは使用しないでく� さい。
-
バックグラウンドで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」を参照してく� さい。
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. -
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."