LoginSignup
1
1

More than 1 year has passed since last update.

WindowsServerのOpenSSH設定のコツ

Posted at

Windows Server 2019以降はOpenSSH ServerがOSの機能として搭載されるようになりました。

AWS EC2上のWindows Serverに接続するときに軽くはまったので、設定のコツをメモとして残すことにします。

環境

・サーバー:Windows Server 2019 Base(AWS EC2)
・sshクライアント:RLogin 2.27.2

基本の設定

インストール、公開鍵の設定などは以下の記事を参考にしました。

sshd_config

上の記事でも触れられていますが、sshd_configの以下2行をコメントアウトしないと接続できません。
(Web上でも様々なところで「無効化すべし」と書かれています。)

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

C:\ProgramData\ssh\administrators_authorized_keys にファイルを置けば
良さそうな気もしますが、確かに接続できません。

PS C:\Windows\system32> Invoke-WebRequest -Uri http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key -OutFile C:\ProgramData\ssh\administrators_authorized_keys

image.png

なぜコメントアウトが必要か

設定の意味としては「Administratorグループの時は、administrators_authorized_keysを参照する」なので
特に問題はなさそうです。
(「administratorsが有効なのは英語版Windowsだけ!その他の言語だとS-1-5-32-544に変換されちゃう」
 といったWebサイトもありましたが、「Match Group S-1-5-32-544」にしても変わらず)

答えはMicrosoftのページに書いてありました。
administrators_authorized_keysファイルのアクセス権を修正する必要があるそうです。

image.png

実際にやってみる

コメントアウトを外してから以下のコマンドたちを実行していきます。

【変更前の権限確認】
PS C:\Windows\system32> icacls "C:\ProgramData\ssh\administrators_authorized_keys"
C:\ProgramData\ssh\administrators_authorized_keys NT AUTHORITY\SYSTEM:(I)(F)
                                                  BUILTIN\Administrators:(I)(F)
                                                  NT AUTHORITY\Authenticated Users:(I)(RX)

1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

【権限変更】
PS C:\Windows\system32> icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
処理ファイル: C:\ProgramData\ssh\administrators_authorized_keys
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

【変更後の権限確認】
PS C:\Windows\system32> icacls "C:\ProgramData\ssh\administrators_authorized_keys"
C:\ProgramData\ssh\administrators_authorized_keys NT AUTHORITY\SYSTEM:(F)
                                                  BUILTIN\Administrators:(F)

1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

【サービス再起動】
Restart-Service sshd

 
アクセス権修正後、接続することができました!

Microsoft Windows [Version 10.0.17763.4010] 
(c) 2018 Microsoft Corporation. All rights reserved.  

administrator@EC2AMAZ-G7LO20S C:\Users\Administrator> 

 
理由が分からないままコメントアウトが嫌だったので調べてみましたが、
デフォルトのまま接続できるようになったので、スッキリしました。

嫌らしいことにこのアクセス権については、日本語ページには書いてないんですよね。。。
(Microsoftあるあるですが)

image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1