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クライアントを使って接続できるようになりました。