
かつて山市良と呼ばれたおじさんのブログ
セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ メモ. 安全なリモート管理用に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 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)
設定変更を反映するために、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アドレスまたはコンピューター名> |
接続元の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 秘密鍵と公開鍵のペアを作成する
ユーザーのホームディレクトリの.sshサブディレクトリに秘密鍵「id_ecdsa」と公開鍵「id_ecdsa.pub」が作成されます。公開鍵「id_ecdsa.pub」をメモ帳などで開き、その内容をコピーします。別の暗号化アルゴリズムを指定した場合や、ファイル名を明示的に指定した場合は、そのファイルを使用してください。なお、コピーした公開鍵は、この後サーバー側のファイルに追加します。リモートデスクトップ接続を使用すれば、公開鍵の内容を簡単にサーバー側にコピーできます。
画面4 公開鍵の内容をクリップボードにコピーする
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」ファイルに公開鍵を追加し、アクセス許可を設定する
なお、この方法はAdministratorsグループのメンバーユーザーで接続することを前提とした設定です。Administratorsグループのメンバーではないユーザーで接続する場合は、「C:¥Users¥ユーザー名¥.ssh¥authorized_keys」に公開鍵を追加し、そのユーザーだけがファイルにアクセスできるように「.ssh」サブフォルダーと「authorized_keys」ファイルにアクセス許可を設定する必要があります。
以上の設定により、sshクライアントから公開鍵認証を使用してWindows Server 2025のOpenSSH Serverに安全に接続できるようになります(画面6)。なお、公開鍵ファイルを明示的に指定したい場合は、-iパラメーターにそのパスを指定してください。
画面6 sshクライアントから公開鍵認証でWindows ServerのOpenSSH Serverに接続する
最後に、ビルトインAdministratorによる接続を拒否する方法を紹介します。それには、「sshd_config」に「DenyUsers Administrator@*」の1行を追加してください。Administrator以外のAdministratorsグループのメンバーは引き続き接続可能です(画面7)。
画面7 ビルトインAdministratorの接続を拒否した場合
Windows Server 2025大特集(1)|...|(7)|...|メモ