OpenSSH

ドキュメント:

OpenSSH をインストールする | Microsoft Docs [公式]

使い方

参考:

OpenSSH for Windows の使用方法 – Qiita

Windows 10 で ssh-agent のサービスを登録する – Qiita

unable to start ssh-agent service, error :1058 – Qiita

Starting ssh-agent on Windows 10 fails: “unable to start ssh-agent service, error :1058” – Stack Overflow

導入

参考:

Windows 10 標準の OpenSSH クライアントを試してみる & 日本語フォルダに注意 – Qiita

Windows 10 でネイティブ動作する OpenSSH クライアントを使う | 4thsight.xyz

PowerShell で SSH クライアントを使う | デジカシ

インストール

クライアントをインストールする手順
  1. 「設定」から「アプリ > アプリと機能 > オプション機能」を開く。
  2. 「+」アイコンが表示された「機能の追加」をクリックして、「オプション機能の追加」ダイアログを開く。
  3. 検索窓に OpenSSH と入力して、出てきた「OpenSSH クライアント」にチェックを入れて「インストール」を実行する。
  4. 「インストールされている機能」の項目で検索窓に 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

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_TYPE2 AUTO_START になっていれば自動起動が設定されている。

> sc.exe qc ssh-agent

参考:

ssh-agent を自動起動する – Qiita

SSH-Agent を利用する | Server World

Windows 10 で ssh-agent のサービスを登録する – Qiita

Git コマンドで SSH を使う

環境変数 GIT_SSHC:\Windows\System32\OpenSSH\ssh.exe を設定する。

参考:

windows の ssh-agent が動かないときの対処法 – Qiita

Windows 10 の ssh-agent をコマンド プロンプト、WSL、Git Bash で使ってみた – Qiita

ssh-add できないときの解決方法 – Qiita

ssh-add できなかったときへの対処 – 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)

warning: agent returned different signature type ssh-rsa (expected rsa-sha2-512) when key registered with ssh-agent · Issue #1551 · PowerShell/Win32-OpenSSH – GitHub

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

Windows Server SSH Remoting Fails if Server has Win32_OpenSSH 7.9 or newer installed · Issue #2475 · microsoft/vscode-remote-release – GitHub

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

リポジトリ:

rupor-github/wsl-ssh-agent: Helper to Interface with Windows ssh-agent.exe Service from Windows Subsystem for Linux (WSL) – GitHub

記事をシェアする:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA