OpenSSH
ドキュメント:
OpenSSH をインストールする | Microsoft Docs [公式]
使い方
参考:
OpenSSH for Windows の使用方法 – Qiita
Windows 10 で ssh-agent のサービスを登録する – Qiita
unable to start ssh-agent service, error :1058 – Qiita
導入
参考:
Windows 10 標準の OpenSSH クライアントを試してみる & 日本語フォルダに注意 – Qiita
Windows 10 でネイティブ動作する OpenSSH クライアントを使う | 4thsight.xyz
PowerShell で SSH クライアントを使う | デジカシ
インストール
クライアントをインストールする手順
- 「設定」から「アプリ > アプリと機能 > オプション機能」を開く。
- 「+」アイコンが表示された「機能の追加」をクリックして、「オプション機能の追加」ダイアログを開く。
- 検索窓に
OpenSSH
と入力して、出てきた「OpenSSH クライアント」にチェックを入れて「インストール」を実行する。 - 「インストールされている機能」の項目で検索窓に
OpenSSH
と入力して、「OpenSSH クライアント」が表示されればインストールされている。
エージェントサービスの起動
PowerShell のプロンプトで get-service
コマンドを実行してサービスの起動を確認する。
> Get-Service ssh-agent
ssh-agent
の項目で Status
の欄に Running
と表示されていればエージェントサービスが起動されている。
サービスを開始する。
> Start-Service ssh-agent
Windows 起動時に自動的にサービスを開始させる。
> Set-Service -Name ssh-agent -StartupType Automatic
sc.exe qc
コマンドを実行して、エージェントサービスの構成情報を確認する。
> sc.exe qc ssh-agent
ドキュメント:
OpenSSH をインストールする | Microsoft Learn [公式]
参考:
Windows 10 に OpenSSH クライアントをインストール | hnakamur’s blog
Windows 10 に OpenSSH サーバをインストールする – Qiita
Windows 標準の Open SSH クライアントをインストールしてみる | buralog
Windows 10 にオンデマンド機能の OpenSSH サーバをインストールする方法 | @IT
マイクロソフト版の OpenSSH を Windows 10 にインストールする | ASCII.jp
設定
参考:
Windows 10 の OpenSSH で config 使って SSH 接続 | めしくいドットコム
OpenSSH のバージョンを確認する
コマンドプロンプトでPATH
が通っている ssh
コマンドの場所を確認する。
>where ssh
ssh
コマンドで使われる OpenSSH のバージョンを確認する。
>ssh -V
参考:
OpenSSH のバージョンが知りたい | ITmedia エンタープライズ
エージェント (ssh-agent)
エージェントをサービスとして登録する。PowerShell を管理者として開いて次のコマンドを実行する。Status
の欄が Running
になっていれば起動できている。
> Set-Service ssh-agent -StartupType Automatic > Start-Service ssh-agent > Get-Service ssh-agent
エージェントサービスを停止して無効化する。Status
の欄が Stopped
になっていれば停止している。
> Stop-Service ssh-agent > Get-Service ssh-agent > Set-Service ssh-agent -StartupType Disabled
sc.exe qc
コマンドを実行してエージェントサービスの構成を確認する。START_TYPE
が 2 AUTO_START
になっていれば自動起動が設定されている。
> sc.exe qc ssh-agent
参考:
SSH-Agent を利用する | Server World
Windows 10 で ssh-agent のサービスを登録する – Qiita
Git コマンドで SSH を使う
環境変数 GIT_SSH
に C:\Windows\System32\OpenSSH\ssh.exe
を設定する。
参考:
Windows の ssh-agent が動かないときの対処法 – Qiita
Windows 10 の ssh-agent をコマンド プロンプト/WSL/Git Bash で使ってみた – Qiita
ssh の鍵を登録する | himadatanode’s blog
Could not open a connection to your authentication agent – Stack Overflow
Git Bash: Could not open a connection to your authentication agent – Stack Overflow
Chocolatey で最新版をインストールする
choco install
コマンドで OpenSSH をインストールする。
> choco install openssh -params '"/SSHAgentFeature"'
参考:
Win32 OpenSSH | Chocolatey Software
DarwinJS / ChocoPackages / openssh – GitLab
different signature type 警告
SSH Agent を用いて SSH 接続した際に、次のような SSH 公開鍵認証の署名タイプが異なるという旨の警告が表示される。
warning: agent returned different signature type ssh-rsa (expected rsa-sha2-512)
対処法:
次のいずれかを用いる。
- 最新版の Win32-OpenSSH をインストールして、
ssh-agent
コマンドとしてそのバイナリを使用する。 - 暗号化方式として RSA の代わりに ECDSA または EdDSA/Ed25519 を用いる。
参考:
Windows 10 で SSH 接続を改善する – Qiita
Windows 10 の更新で OpenSSH が逝った | krymtkts
Windows 10 の VSC における GitHub への SSH 接続について | 51WebLab.
Moving from Windows 1809’s OpenSSH to OpenSSH Portable | Dev Notes (blog.frankfu.com.au)
ssh-agent: agent returned different signature type · Issue #1263 · PowerShell/Win32-OpenSSH – GitHub
ssh_agent を使用すると、署名タイプが違うとエラー – teratail
VSCode で SSH 接続する
参考:
maiha/VSCode Remote SSH.md – GitHub Gist
SCP を使う
参考:
もう SSH クライアントは必要ない!? Windows 10 から EC2 に接続して SCP でファイルを送ってみよう | DevelopersIO
Bad file descriptor エラー
現象:
ssh-add -l
コマンドを実行すると、SSH Agent に接続できない旨のエラーが発生する。
Error connecting to agent: Bad file descriptor
対処法:
Git Bash で SSH Agent を使用して git push
/ pull
/ fetch
などのコマンドを実行するためには、Git の設定に SSH コマンドを追加する必要がある。
$ git config --global core.sshCommand "C:/Program\\ Files/Git/usr/bin/ssh.exe"
参考:
`ssh-add -l` returning “Error connecting to agent: Bad file file descriptor” – Atlassian Community
ssh-add works until git fetch (MingW64) – Stack Overflow
Win32 OpenSSH
インストール方法
- 手動でインストール
→ ダウンロードした ZIP ファイルを解凍してC:\Program Files
に配置し、install-sshd.ps1
を実行する。 - Chocolatey
- Scoop
リポジトリ:
PowerShell/Win32-OpenSSH: Win32 Port of OpenSSH – GitHub
PowerShell/openssh-portable: Portable OpenSSH – GitHub
ドキュメント:
Install Win32 OpenSSH · PowerShell/Win32-OpenSSH Wiki – GitHub
参考:
Windows に OpenSSH をインストールする | IT Learning
Is it possible to update the built-in OpenSSH Client in Windows 10? – Super User
WSL SSH Agent
リポジトリ: