今日もWindows 8で開発するぞ!さっき突然再起動した気がするけどまあ気にしない。
いつも通りPowerShellを起動して、まずはgit pull
C:\Users\baba\workspace\myproject> git pull
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
...(・ω・)
お、落ち着いて、ssh myserver
C:\Users\baba> ssh myserver
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
...(・ω・)
どうやらこういうときはSSHの秘密鍵が認識されていないようなので、ssh-addをすると良いらしい。
C:\Users\baba> ssh-add .ssh/id_rsa
Could not open a connection to your authentication agent.
...(・ω・)
なんかSSH Agentがお亡くなりになってしまったようですね。
解決編
スクリプトをダウンロード
こんな良いgistがありました。
まずは、これをダウンロードして、適当な場所に置きます。今回はC:\Users\baba\ssh-agent-utils.ps1として配置。
スクリプト実行許可
PowerShellは、デフォルトでスクリプトを実行できないようになっているので、セキュリティ設定を変更します。管理者でPowerShellを起動し、以下のコマンド。
C:\WINDOWS\system32> Set-ExecutionPolicy RemoteSigned
スクリプトを実行
こっちは普通のPowerShellで良いです。最初のドットを忘れずに。
C:\Users\baba> . ssh-agent-utils.ps1
Starting SSH agent...
SSH agent PID: 10028
なんか反応が返ってこないことがありますが、Ctrl+Cで止めてもPIDが出てくればOKでした。
SSH鍵を改めて登録
C:\Users\baba> ssh-add .ssh/id_rsa
Identity added: .\.ssh\id_rsa (.\.ssh\id_rsa)
これで、無事にSSH接続できるようになりました ヘ(^o^)/