6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Windows向け】GitHubでSSH接続時にパスフレーズを要求されないように設定

Last updated at Posted at 2023-09-29

環境

Windows10 Pro
git 2.39.1 (scoopでインストール)

参考記事

はじめに

GitHubのSSH接続にて、passphraseを設定するとコミットやプッシュ時に毎回passphraseを入力しなければならなかったため、その解決方法を備忘録としてここに記します。
GitでSSH認証を済ませている前提で話すため、
SSH認証がお済みでない方は、以下の記事を参考に認証を済ませてから読み進めてください。

問題

ssh接続によるGitを使ったコミットやプッシュを実施した際にpassphraseを入力しなければならない。

> git push origin name_of_branch
Enter passphrase for key '/Users/[user_name]/.ssh/id_ed25519':

毎回要求されるのはしんどいので、要求されないようにする

Gitコマンドに秘密鍵を設定

gitコマンドが発行される際に、「とあるgitのリポジトリ(ホスト)と通信する際にはこの鍵を使ってね」と設定する場所がC:\Users\user/.ssh/configファイル。このconfigファイルに、以下のように記載して保存する

  • Host = 鍵を使い分ける単位を指定するためのもの。区別できればなんでもいい。
    • HostName = GitHubのホスト名もしくはIPアドレスなので「github.com」で良い
    • IdentityFile = 当該ホストへの接続に使用したい秘密鍵のフルパス
    • User = 「git」で良い
      詳しくは次を参照すると良い => https://qiita.com/miriwo/items/976d21e9a42fd3b01d08
Host github
  HostName github.com
  IdentityFile C:\Users\user\.ssh\id_ed25519
  User git

SSHサービスが動いていない

  • 毎回passphraseを要求される原因はWindowsのssh-agentが動いていなかったことだったが、ssh-add -lコマンドでssh-agentが動いているか確認
ssh-add -l
Could not open a connection to your authentication agent.

Could not open a connection to your authentication agent.を直訳すると、「認証エージェントへの接続を開けませんでした。」になる。(SSHサービスが動いていない)

OpenSSHサービスの起動

  • 「Win + Q」で、サービスと打ち込んで実行
    image.png
    image.png

  • OpenSSH Authentication Agentをダブルクリックし、スタートアップの種類の「自動」を選択し、「適用」をクリック
    image.png

  • 緑の三角ボタンをクリックしてサービスを開始
    image.png

秘密鍵の登録

  • ssh-add sshの秘密鍵ファイルのパスを実行
ssh-add .ssh/id_ed25519

image.png

Gitがssh-agentを利用するように設定

  • 以下のコマンドを実行して、Gitの設定を、WindowsのOpenSSHを見に行くように設定。
    この設定ができてないと、先ほど設定したはずのパスフレーズを聞かれたり、vscodeからpushしようとしたときに、 C:\Users\user/.ssh/config を見に行ってくれなかったりする
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

Git で push

  • pushを実行すると、passphraseを求められることはなくなりました。
    image.png
6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?