かつて山市良と呼ばれたおじさんのブログ

セイテクエンジニアのブログ  かつて山市良と呼ばれたおじさんのブログ  メモ. 安全なリモート管理用にOpenSSH Serverを構成する方法|Windows Server 2025大特集(おまけ)

 

 

メモ. 安全なリモート管理用にOpenSSH Serverを構成する方法|Windows Server 2025大特集(おまけ)

2025年06月27日配信
2025年06月27日更新
執筆者:山内 和朗

 この連載で何度か取り上げてきたように、Windows Srever 2025にはOpenSSH Serverが既定でインストールされており、ワンクリックで簡単に有効化できるようになりました(ただし日本語環境ではバグあり)。これまでは、話を簡単にするためAdministratorをパスワード認証でログインできるようにして説明しましたが、公開鍵認証を使用したより安全性の高い接続が推奨されます。そこで、Windows Server 2025をリモート管理用に安全な接続方法で接続を許可するように構成し、Windows 11デバイスから接続できるようにする手順を説明します。


vol.70 Azure Arc/WAC/sshdの簡単セットアップ|Windows Server 2025大特集(7)
メモ. Process Monitorを用いたWindows Server 2025のバグ調査報告
vol.88 リモートワークで遭遇したRDP“再”接続問題|Windowsトラブル解決

 Windows ServerのOpenSSH Serverは、パスワード認証と公開鍵認証をサポートしています。公開鍵認証をセットアップする手順については、以下のドキュメントで説明されていますが、Windowsユーザーには少し難解かもしれません。そこでできるだけ簡単に説明します。


OpenSSH Server configuration for Windows Server and Windows|Windows Server(Microsoft Learn)
Key-based authentication in OpenSSH for Windows|Windows Server(Microsoft Learn)

 Windows Server 2025のOpenSSH Serverのセットアップ方法は、それ以前のバージョンから変更されています。Windows Serverの各バージョンごとの概要については、以下のドキュメントを参照してください。

 

Windows用OpenSSHの概要Server 2025][Server 2022][2019]|Windows Server(Microsoft Learn)

 

Windows Server(OpenSSH Server)側の設定: sshd_config

 

 Windows Server 2025のPowerShellで以下のコマンドラインを実行し、OpenSSH Serverを有効化します。「サーバーマネージャー」の「ローカルサーバー」にある「リモートSSHアクセス」による有効化は、日本語環境ではバグのため機能しません。代わりに、PowerShell(管理者)ウィンドウを開いて以下のコマンドラインを実行します。

 

PS C:¥> Get-Service -Name sshd | Set-Service -StartupType Automatic -PassThru | Start-Service

 

 OpenSSH Serverの「C:¥ProgramData¥ssh」にある構成ファイル「sshd_config」をメモ帳などのテキストエディターで開き、以下の行を設定して、公開鍵認証を有効化にし、パスワード認証を無効にします(画面1)。

 

PubkeyAuthentication yes
PasswordAuthentication no

 

画面1 公開鍵認証を有効化にし(PubkeyAuthentication yes)、パスワード認証を無効にする(PasswordAuthentication no)
画面1 公開鍵認証を有効化にし(PubkeyAuthentication yes)、パスワード認証を無効にする(PasswordAuthentication no)

 設定変更を反映するために、sshdサービスを再起動します。

 

PS C:¥> Restrat-Service sshd

またはコマンドプロンプト(管理者)で

C:¥> net stop sshd
C:¥> net start sshd

 

 Windows 11やWindows Server 2022以降(Windows Server 2019はオプション機能として追加可能)には、sshクライアント(C:¥Windows¥System32¥OpenSSH¥ssh.exeやssh-keygen.exe)が標準搭載されています。ローカルまたはリモートのsshクライアントを使用して、パスワード認証で接続できないことを確認します(画面2)。

 

C:¥> ssh <ユーザー名>@<IPアドレスまたはコンピューター名>

画面2 sshdサービスを再起動し、パスワード認証では接続できないことを確認する
画面2 sshdサービスを再起動し、パスワード認証では接続できないことを確認する
 

Windows 11側(接続元)の設定: 公開鍵/秘密鍵のペア

 

 接続元のWindows 11デバイスでコマンドプロンプト(管理者権限は不要)を開き、次のコマンドラインを実行して、秘密鍵と公開鍵のペアを作成します(画面3)。ECDSA(Elliptic Curve Digital Signature Algorithm)は、公開鍵技術として広く利用されているRSA(Rivest-Shamir-Adleman)と同じ強度を実現しながら、RSAより短い鍵で高速に処理できる技術です。暗号化アルゴリズムとしては、DSA(Digital Signature Algorithm)、RSA、ECDSA、Ed25519(Windowsの既定)を指定できます。

 

C:¥Users¥ユーザー名> ssh-keygen -t ecdsa


画面3 秘密鍵と公開鍵のペアを作成する
画面3 秘密鍵と公開鍵のペアを作成する

 ユーザーのホームディレクトリの.sshサブディレクトリに秘密鍵「id_ecdsa」と公開鍵「id_ecdsa.pub」が作成されます。公開鍵「id_ecdsa.pub」をメモ帳などで開き、その内容をコピーします。別の暗号化アルゴリズムを指定した場合や、ファイル名を明示的に指定した場合は、そのファイルを使用してください。なお、コピーした公開鍵は、この後サーバー側のファイルに追加します。リモートデスクトップ接続を使用すれば、公開鍵の内容を簡単にサーバー側にコピーできます。

 

画面4 公開鍵の内容をコピーする
画面4 公開鍵の内容をクリップボードにコピーする

 

Windows Server(OpenSSH Server)側の設定: administrators_authorized_keys(またはauthorized_keys)

 

 Windows Server側で「C:¥ProgramData¥ssh」にある「administrators_authorized_keys」ファイルをメモ帳などで開き、sshクライアント側でコピーしておいた内容を追加します。「administrators_authorized_keys」ファイルが存在しない場合は、新規に作成して、公開鍵を追加します。その後、「administrators_authorized_keys」ファイルへのAdministratorsグループとSYSTEMアカウントのアクセス許可を設定し、最後にsshdサービスを再起動します(画面5)。

 

C:¥> icacls C:¥ProgramData¥ssh¥administrators_authorized_keys /inheritance:r
C:¥> icacls C:¥ProgramData¥ssh¥administrators_authorized_keys /grant Administrators:F
C:¥> icacls C:¥ProgramData¥ssh¥administrators_authorized_keys /grant SYSTEM:F
C:¥> net stop sshd
C:¥> net start sshd

 

画面5 「administrators_authorized_keys」ファイルに公開鍵を追加し、アクセス許可を設定する
画面5 「administrators_authorized_keys」ファイルに公開鍵を追加し、アクセス許可を設定する

 なお、この方法はAdministratorsグループのメンバーユーザーで接続することを前提とした設定です。Administratorsグループのメンバーではないユーザーで接続する場合は、「C:¥Users¥ユーザー名¥.ssh¥authorized_keys」に公開鍵を追加し、そのユーザーだけがファイルにアクセスできるように「.ssh」サブフォルダーと「authorized_keys」ファイルにアクセス許可を設定する必要があります。

 

sshクライアントからの公開鍵認証による接続を確認する

 

 以上の設定により、sshクライアントから公開鍵認証を使用してWindows Server 2025のOpenSSH Serverに安全に接続できるようになります(画面6)。なお、公開鍵ファイルを明示的に指定したい場合は、-iパラメーターにそのパスを指定してください。

 

画面6 sshクライアントから公開鍵認証でWindows ServerのOpenSSH Serverに接続する
画面6 sshクライアントから公開鍵認証でWindows ServerのOpenSSH Serverに接続する

 最後に、ビルトインAdministratorによる接続を拒否する方法を紹介します。それには、「sshd_config」に「DenyUsers Administrator@*」の1行を追加してください。Administrator以外のAdministratorsグループのメンバーは引き続き接続可能です(画面7)。

 

画面7 ビルトインAdministratorの接続を拒否した場合
画面7 ビルトインAdministratorの接続を拒否した場合

 

Windows Server 2025大特集(1)|...|(7)|...|メモ

blog_yamanxworld_subscribe

blog_yamanxworld_comment

blog_yamanxworld_WP_ws2025

最新記事