ページ

2025年10月8日水曜日

Windows で sshd を 起動する。

WindowsにPowerShellを使ってOpenSSHサーバーを導入する手順

今回は、外部から接続する踏み台として、Windows環境にOpenSSHサーバーをインストールすることにしました。その手順を忘れないように記録しておきます。PowerShellを使ってコマンドで手早くセットアップできます。


1. PowerShellの管理者権限での起動

はじめに、各種設定変更を行うためPowerShellを管理者として開きます。

スタートボタンを右クリックして表示されるメニューから、「Windows PowerShell (管理者)」または「Windows ターミナル (管理者)」を選択することで起動できます。


2. OpenSSHサーバー機能のインストール

次に、Windowsの機能として提供されているOpenSSHサーバーをインストールします。以下のコマンドレットを実行する形となります。

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

これでSSHサーバー機能そのものがシステムに追加されました。


3. SSHDサービスの開始

インストールしただけで、サーバーは動いていないので、sshdサービスを開始します。以下のコマンドでサービスを起動させます。

Start-Service sshd

4. サービスの自動起動設定 (推奨)

このままだとOSを再起動するたびに手動でサービスを開始する必要があり不便です。そこで、Windowsの起動時にsshdサービスが自動的に開始されるように設定しておきます。

Set-Service -Name sshd -StartupType 'Automatic'

これでPCを再起動しても、SSHサーバーは常に待ち受け状態となります。


5. ファイアウォール規則の確認

通常はインストール時に自動でファイアウォールの受信規則が追加されますが、念のため確認しておきます。SSHの通信ポート(22番)が許可されているかを確認するコマンドです。

Get-NetFirewallRule -Name *SSH*

もし、このコマンドで何も表示されないなど、規則が存在しない場合は、以下のコマンドで手動で作成することも可能です。

# 以下のコマンドは、規則が存在しない場合のみ実行します
# New-NetFirewallRule -Name "OpenSSH-Server-Inbound-TCP" -DisplayName "OpenSSH Server (sshd)" -Enabled True -Direction Inbound -Protocol TCP -LocalPort 22

以上の手順で、WindowsへのOpenSSHサーバーの導入と基本的な設定は完了となります。これで他のマシンからSSHクライアントを使って接続できるようになりました。