七転八倒のため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
では、七転八倒をかいつまんでみていきます。基本的には、下記のドキュメントを参照しています。
まずは、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サービスを再起動しました。





0 件のコメント:
コメントを投稿