2026年4月18日土曜日

OpenSSH for Windows Server 2025 その3 キーベースの認証 ローカル管理者権限ありのADドメインユーザー

七転八倒のためGen AIを併用しながらという感じで試行錯誤した結果、タイトルの挙動故の設定が必要と理解しました。具体的には、下記の設定が必要でした。

Windows 用 OpenSSH でのキーベースの認証 - 管理ユーザー

通常ユーザーの公開キー配置場所である ホームディレクトリ\.ssh\id_ecdsa.pub ではなくて、$env:ProgramData\ssh\administrators_authorized_keys に置く必要がありました。加えて、set-contentでasciiにコード変換するとうまくいきました。コマンド例は下記のとおりです。

(Get-Content C:\Users\sashizaki\.ssh\id_ecdsa.pub) | Set-Content -Encoding ascii C:\ProgramData\ssh\administrators_authorized_keys

では、七転八倒をかいつまんでみていきます。基本的には、下記のドキュメントを参照しています。

Windows 用 OpenSSH でのキーベースの認証

まずは、ssh-keygenで秘密キーと公開キーのペアを作成します。

普通に、ホームディレクトリ\.ssh\id_ecdsa.pub に配置しました。これでキーベース認証が使えると思ったら間違いでして、

に記載がある %programdata%\ssh\sshd_config ファイルから「PubkeyAuthentication yes」を有効化して、sshdサービスを再起動します。(後で気づいて対応しましたが、この時点でパスワード認証も有効化しておくてデバッグしやすい)
ユーザー指定を変えながらいくつかリトライしたもののsshコマンドからつながらず。
Gen AIの提案から、
(Get-Content C:\Users\sashizaki\.ssh\id_ecdsa.pub) | Set-Content -Encoding ascii C:\ProgramData\ssh\administrators_authorized_keys
icacls C:\ProgramData\ssh\administrators_authorized_keys /inheritance:r
icacls C:\ProgramData\ssh\administrators_authorized_keys /grant "Administrators:F"
icacls C:\ProgramData\ssh\administrators_authorized_keys /grant "SYSTEM:F"
を実行しsshdサービスを再起動しました。

ssh /vでデバッグ情報を出力させながら、再試行しました。結果、成功。




0 件のコメント:

コメントを投稿