Windows とそのビルトイン OpenSSH クライアントを使用する場合は、以下の手順に従って OpenSSH クライアントを設定し、パスフレーズで保護された SSH キーをプロンプトなしで使用できるようにします。
既存の SSH キーがあるかどうかを確認します。GitHub Docs の記事既存の SSH キーの確認を参照してください。
SSH キーを持っていない場合:
C:\Users\<YourUserName>\.ssh\config が存在するかどうかを確認します。ノート:Git Bash などの一部のアプリケーションでは、.ssh は隠しサブディレクトリです。
C:\Users\<YourUserName>\.ssh\config が存在しない場合は作成します。
以下のコンテンツを C:\Users\<YourUserName>\.ssh\config に追加して、認証エージェントにロードするキーを設定し、ターゲットサーバーでそのキーを使用することを指定します。このエントリーは、Host * としてマークされたグローバル設定の前に追加してください。
Host SERVER_NAME
IdentitiesOnly yes
IdentityFile FILE_PATH
SERVER_NAME は、IdentityFile で指定されたファイルを使用するサーバーです。サンプル値は github.com です。FILE_PATH は、作成した SSH ファイルへの完全修飾パスです。サンプル値は C:\Users\<YourUserName>\.ssh\<FILE> です。<FILE> は id_rsa、id_ecdsa、id_ed25519、またはカスタム名です。例
Host github.com
IdentitiesOnly yes
IdentityFile C:/Users/user1/.ssh/id_ed25519
Windows PowerShell を開きます。Run as Administrator を選択して開いていることを確認してください。
以下のコマンドを実行して、SSH Authentication Agent サービスがコンピューターを再起動するたびに開始されるように設定します。
Get-Service ssh-agent | Set-Service -StartupType Automatic
以下のコマンドを実行して、サービスを開始します。
Start-Service ssh-agent
以下のコマンドを実行し、Status の値が Running であることを確認して、サービスが実行されていることを確認します。
Get-Service ssh-agent
<FILE> を実際のキーのファイル名に置き換えて、キーファイルを ssh-agent にロードします。プロンプトが表示されたら、パスフレーズを入力します。
ssh-add $env:USERPROFILE\.ssh\<FILE>
例
ssh-add $env:USERPROFILE\.ssh\id_ed25519
以下のいずれかの方法を使用して、Git が Git に含まれる SSH クライアントではなく Windows OpenSSH クライアントを使用するようにします。
システム全体の設定の場合は、C:/Windows/System32/OpenSSH/ssh.exe という値を持つ GIT_SSH_COMMAND という名前の環境変数を作成します。重要:パスにフォワードスラッシュを使用していることを確認してください。
特定のスコープの設定を行うには、端末で以下の git config コマンドを実行します。詳細については、git config のドキュメント を参照してください。
例:
git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe
重要: パスにフォワードスラッシュを使用していることを確認してください。
Unity Package Manager を使用して、パスフレーズで保護された SSH キーを使用して SSH 経由でその Git リポジトリからパッケージを取得できるようになりました。