Windows 10にオンデマンド機能のOpenSSHサーバをインストールする方法:企業ユーザーに贈るWindows 10への乗り換え案内(45)
Windows 10 バージョン1803からは、OpenSSHクライアントおよびサーバ機能がWindowsに組み込まれました。Windows Server,version 1803ではOpenSSHクライアントが、Windows Server,version 1809およびWindows Server 2019からはOpenSSHサーバが同様に組み込まれています。今回は、このOpenSSHサーバ機能に注目します。
アプリ開発者やITプロが喜ぶ、OpenSSHの標準搭載
本連載第37回では、WindowsとLinuxの混在環境におけるWindows 10のLinux関連機能を紹介しました。
その中で、Windows 10 バージョン1803から「OpenSSHクライアント」(C:\Windows\System32\OpenSSH\ssh.exe、ssh-keygen、scp.exeなど)と「OpenSSHサーバ」(C:\Windows\System32\OpenSSH\sshd.exe)についても触れました。OpenSSHクライアントは標準でインストールされ、OpenSSHサーバは「オンデマンド機能」として、オプションでインストールできます。
Windows Serverの半期チャネル(Semi-Annual Channel:SAC)であるWindows Server,version 1803からは、Windows 10バージョン1803と同様にOpenSSHクライアントが組み込まれ、標準でインストールされるようになりました。
本連載第37回では、OpenSSHサーバも含まれるように書いてしまいましたが、実際にはWindows Server,version 1809および長期サービスチャネル(Long-Term Servicing Channel:LTSC)のWindows Server 2019からオプションでOpenSSHサーバが利用可能になりました。
ちなみに、OpenSSHのバージョンは、Windows 10 バージョン1803が「OpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4」、Windows 10 バージョン1809が「OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5」です。
アプリケーション開発者やITプロフェッショナルの方なら、Windows 10にOpenSSHクライアントが標準搭載され、他のWindowsのコマンドと同じように、すぐに、どこからでも(標準でPATHが通っているという意味で)、利用できることは特に歓迎していることでしょう。
例えば、オンプレミスやクラウド上のLinuxサーバにsshで接続したり、scpやsftpでファイル転送したり、あるいはセキュアな接続のための公開鍵と秘密鍵のペアを作成したりするのに、外部のツールを入手してセットアップする必要はもうありません。
Windowsでは「PowerShell Remoting」や「WinRM/WinRS」といったセキュアなリモート端末環境が標準で利用できますが、OpenSSHサーバ機能はもう一つのセキュアなリモート端末環境になります。これは、特にオンプレミスやクラウド上のWindows Serverをリモート管理する上で便利です。
例えば、Linux標準のsshコマンドを利用して(Linuxで利用できる「PowerShell Core 6」もありますが)、Windows Serverにリモート接続し、コマンドラインで管理操作を実行できます。また、リモートデスクトップ接続やPowerShell Remotingなど、Windows標準のリモート接続手段が何らかの理由で突然利用不能になってしまった場合に、OpenSSHサーバを有効化しておけば安全に接続できる可能性があります。
デスクトップ環境でのオンデマンド機能のインストール
OpenSSHサーバは、Windows 10 バージョン1803以降、Windows Server 2019、Windows Server,version 1809の「オンデマンド機能(Feature on Demand)」としてインストールできます。
Windows 10とWindows Server 2019(デスクトップエクスペリエンス)の場合は、「設定」アプリを開き、「アプリ」→「アプリと機能」→「オプション機能の管理」を開いて、「+機能の追加」をクリックし、「OpenSSHサーバー」を展開して「インストール」をクリックします(画面1)。オンデマンド機能のインストールソースはインターネットからダウンロードされるため、インストールにはインターネットに接続している必要があります。
OpenSSHサーバのインストールが完了すると、「オプション機能の管理」の一覧に追加されます。また、サービス名「sshd」、表示名「OpenSSH SSH Server」でWindowsのサービスとして登録されます。ただし、サービスのスタートアップは「手動」になっているので、常時利用可能にしておきたい場合はsshdの構成をカスタマイズ後に「自動」に切り替えておきましょう。
インストール直後に動作を確認するには、PowerShellウィンドウを開いて次の2つのコマンドラインを実行し、接続できることを確認します(画面2)。
Start-Service sshd ssh ユーザー名@コンピュータ名(またはIPアドレス)
sshdの既定の構成はパスワードのみの接続が安全ではありませんが、この時点ではリモートからの接続は「Windows Defenderファイアウォール」でブロックされるはずです(明示的にTCPポート22を許可していない限り)。
sshd_configの場所とLinuxのsshdとの違い
sshdの構成ファイルは、「C:\ProgramData\ssh\sshd_config」にあります。この構成ファイルを適宜編集して、認証方法やポート番号などをカスタマイズします。カスタマイズが完了したら、sshdサービスを再起動して動作を確認します。
意図した通りに動作するようであれば、サービスのスタートアップを「自動」に切り替え、Windows Defenderファイアウォールの「例外の規則」にTCPポート22(または他のポート番号)への接続許可を作成します。PowerShellでこれらの操作を行うには、次のようにコマンドラインを実行します(画面3、画面4)。
Restart-Service sshd Set-Service -Name sshd -StartupType Auto New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName "sshd"
画面4 公開鍵(publickey)認証によるssh接続。Windows 10 バージョン1803以降では、標準で利用できる「ssh-keygen」(OpenSSHクライアントに含まれる)を使用して秘密鍵と公開鍵のペアの生成が可能
なお、sshd_configを編集する際には、Windowsで利用できないディレクティブや設定が存在することに注意してください。例えば、認証方法(AuthenticationMethods)としてはパスワード(password)と公開鍵(publickey)が使用できます。
また、「PermitRootLogin」ディレクティブはWindowsには適用されません。代替方法として「DenyGroups」ディレクティブでAdministratorsグループを拒否するように構成できます。その他、サポートされないディレクトリが幾つか存在します。詳しくは、以下のドキュメントで説明されています。
- OpenSSH Server Configuration for Windows 10 1809 and Server 2019#[英語](Windows IT Pro Center)
Server Coreインストールでのオンデマンド機能の有効化
Windows Server 2019のServer Coreインストール環境や、Server Coreでのみ提供されるWindows Server,version 1809の場合、「設定」アプリを使用したオンデマンド機能のインストールができません。
Server Core環境では、PowerShellで次のコマンドラインを実行することで、OpenSSHサーバ機能をインストールできます。
Get-WindowsCapability -Online -Name OpenSSH* Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
1行目で、OpenSSHクライアントとOpenSSHサーバ機能の名前(Name)およびインストール状態(State)を確認し、2行目のコマンドラインでOpenSSHサーバをインストールします(画面5)。なお、Windows Server,version 1803以前はオンデマンド機能としてのOpenSSHサーバは提供されません。
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2018/7/1)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Windows 10 October 2018 Updateがやってきた? やってこない?
Windows 10 October 2018 Update(バージョン1809)が2018年10月2日(米国時間)にリリースされました。10月にリリースされることは分かっていましたが、まさか月初めに予告なくくるなんて少しびっくりです。しかも、RTMビルドになった17763.1は、提供開始後数日で配信停止。本当にびっくりです。 - こんにちはWindows 10 October 2018 Update、さようならRemoteFX 3Dビデオアダプター
2018年10月2日(米国時間)、最新のWindows 10とWindows Server 2019がリリースされました(その後、重大な問題が報告されたようで、10月6日に提供が停止されました)。筆者がInsider Previewビルドで気が付いた、Hyper-Vから表面上、消えてなくなってしまう機能を正式版(RTM)で確認してみました。 - これは戦いだ! Windows 10のWindows Updateにはやられる前にや……
今回のネタは、Windows Updateによる更新プログラムのインストールで、仕事や帰宅の邪魔をされたくない、余暇の楽しみを邪魔されたくないという、Windows 10ユーザー向けの1つの“提案”です。少し手間が掛かりますが、今後、発生するかもしれない更新トラブルの多くを避けながら快適なPC生活を過ごすことができるかもしれません。 - 続・進まないWindows Update、やっぱり止まっていなかった
Windows Updateが動作していて、フォアグラウンドの作業が重く、しかもWindows Updateがなかなか進まない状況に遭遇したことはありませんか。画面をただ眺めているだけでは、進んでいるのか、いないのかが分からず、結局失敗して時間の無駄に終わるということも……。他にすることがなく、時間を持て余しているのなら、進んでいることが分かる詳細を追跡してはいかがでしょうか(本稿の最後に注意点というかオチがあります)。