OpenSSH をインストールする

適用対象: Windows Server 2019、Windows 10: Windows Server 2022、

OpenSSH は、SSH プロトコルを使用するリモート ログイン用の接続ツールです。 クライアントとサーバーの間のすべてのトラフィックを暗号化して、盗聴、接続ハイジャック、その他の攻撃を排除します。

OpenSSH を使用して、OpenSSH Client がインストールされている Windows 10 (ビルド 1809 以降) または Windows Server 2019 デバイスから、OpenSSH Server がインストールされているデバイスに接続できます。

重要

PowerShell/openssh-portable で GitHub リポジトリから OpenSSH をダウンロードした場合は、この記事の手順ではなく、そこに記載されている手順に従ってください。

Windows の設定を使用して OpenSSH をインストールする

どちらの OpenSSH コンポーネントも、Windows 設定を使用して、Windows Server 2019 と Windows 10 デバイスにインストールできます。

OpenSSH コンポーネントをインストールするには:

  1. [設定] を開き、 [アプリ] > [アプリと機能] の順に選んで、 [オプション機能] を選択します。

  2. 一覧を確認して、OpenSSH が既にインストールされているかどうかを確認します。 されていない場合は、ページの上部にある [機能の追加] を選択し、次のようにします。

    • OpenSSH Client を検索し、 [インストール] をクリックします
    • OpenSSH Server を検索し、 [インストール] をクリックします

セットアップが完了したら、 [アプリ] > [アプリと機能][オプション機能] に戻ります。[OpenSSH] が一覧に表示されます。

注意

OpenSSH Server をインストールすると、OpenSSH-Server-In-TCP という名前のファイアウォール規則が作成され、有効化されます。 これにより、ポート 22 での SSH 受信トラフィックが許可されます。 このルールが有効になっておらず、このポートが開いていない場合、接続は拒否またはリセットされます。

PowerShell を使用して OpenSSH をインストールする

PowerShell を使用して OpenSSH をインストールするには、管理者として PowerShell を実行します。 OpenSSH が使用可能になっていることを確認するには、次のコマンドレットを実行します。

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

どちらもインストールされていない場合は、次の出力が返されます。

Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

次に、必要に応じて、サーバーまたはクライアント コンポーネントをインストールします。

# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

両方で、次の出力が返されます。

Path          :
Online        : True
RestartNeeded : False

OpenSSH Server の起動と構成

初めて使用するために OpenSSH Server を起動して構成するには、管理者として PowerShell を開き、次のコマンドを実行して sshd service を開始します。

# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'

# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}

OpenSSH Server への接続

インストールすると、次のように PowerShell を使用して、OpenSSH クライアントがインストールされている Windows 10 または Windows Server 2019 デバイスから OpenSSH Server に接続できます。 必ず PowerShell を管理者として実行してください。

ssh username@servername

接続すると、次のようなメッセージが表示されます。

The authenticity of host 'servername (10.00.00.001)' can't be established.
ECDSA key fingerprint is SHA256:(<a large string>).
Are you sure you want to continue connecting (yes/no)?

[はい] を選択すると、そのサーバーが Windows クライアント上の既知の SSH ホストの一覧に追加されます。

この時点で、パスワードの入力を求められます。 セキュリティ上の理由から、入力したパスワードは表示されません。

接続すると、Windows コマンド シェル プロンプトが表示されます。

domain\username@SERVERNAME C:\Users\username>

Windows の設定を使用して OpenSSH をアンインストールする

Windows の設定を使用して OpenSSH をアンインストールするには:

  1. [設定] を開き、 [アプリ] > [アプリと機能] に移動します。
  2. [オプション機能] に移動します。
  3. 一覧で、 [OpenSSH Client](OpenSSH Client) または [OpenSSH Server](OpenSSH Server) を選択します。
  4. [アンインストール] を選択します。

PowerShell を使用して OpenSSH をアンインストールする

PowerShell を使用して OpenSSH コンポーネントをアンインストールするには、次のコマンドを使用します。

# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

サービスがアンインストール時に使用されていた場合、Windows の再起動が必要になることがあります。