5
3

More than 3 years have passed since last update.

Git BashのSSHからWindows 10本家のOpenSSHへ移行する

Posted at

Windowsでsshを使うときは、Git for Windowsに附属するsshを使うのが慣例だったが、Windows 10のBuild 1809 (2019年)からOpenSSHがOSの本体にも含まれるようになった。

参考: OpenSSH in Windows

本家のOpenSSHを使えば起動時にssh-agentが自動でstartするため使い勝手がよくなる。また、Git for Windowsへの依存も減るので移行した。

OpenSSHの有効化

設定のManage Optional Features画面で、OpenSSH clientがインストールされていることを確認する。インストール済みでない場合、追加する。

確認手順

利用するコマンドラインから

where ssh

をたたき、

C:\Windows\System32\OpenSSH\ssh.exe

が含まれていることを確認する。

ssh-agent の自動スタート

次に、services.mscの管理画面からOpenSSH Authentication Agentを選択し、右クリックでプロパティを選択する。

  1. Startup typeをAutomaticかAutomatic (Delayed Start)(自動)に変更する
  2. サービスを起動する

Git Bashで使うsshを変える

もともとGit Bashを使っていた場合、

$ where ssh
C:\Program Files\Git\usr\bin\ssh.exe
C:\Windows\System32\OpenSSH\ssh.exe
$ which ssh
C:\Program Files\Git\usr\bin\ssh.exe

となり、古いsshがデフォルトになっている。Pathの一番前にC:\Windows\System32\OpenSSHをつけることで直せた。

.bashrc
PATH="/c/Windows/System32/OpenSSH:${PATH}"

また、GitでSSHを使っている場合、GIT_SSHの環境変数にパスを書くと良さそう。(未検証)

.bashrc
GIT_SSH=/c/Windows/System32/OpenSSH/ssh.exe

編集した.bashrcを読み込めば完成。

$ source ~/.bashrc
5
3
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
5
3