🐡

OpenSSH for WindowsのDebugログ出力方法

2024/11/29に公開

この記事の目的

WindowsサーバへのSSH接続がうまくいかない時の調査用にデバッグログを出力させる。

前提環境

WindowsServer2022
OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2
※FoD版。以下の手順でインストールしています。
https://learn.microsoft.com/ja-jp/windows-server/administration/openssh/openssh_install_firstuse?tabs=powershell&pivots=windows-server-2022

出力方法

実際にやった方法を記載します。

  1. sshd_configを開く
    openSSHサーバの設定はsshd_configをファイルに書かれています。
    デフォルトの場所は"C:\ProgramData\ssh"です。
    ProgramDataフォルダが無い場合、隠しフォルダ表示を有効化してください。
    メモ帳等で開きましょう。

  2. sshd_configを編集する
    以下のパラメータを編集します。(デフォルトではコメントアウトされています。)

# SyslogFacility AUTH
# LogLevel INFO
SyslogFacility LOCAL0
LogLevel Debug3

LOCAL0はファイルに出力する設定です。C:\ProgramData\ssh\logsに出力されます。
Debug3はデバッグログを最大限詳細に出力する設定です。
編集後、保存してメモ帳を閉じます。

  1. sshdの再起動
    sshd_configの編集内容を有効化するためにsshdサービスを再起動します。
    管理者権限のpowershellまたはコマンドプロンプトで以下コマンドを実行してください。
PS C:\Users\Administrator> net stop sshd
OpenSSH SSH Server サービスは正常に停止されました。

PS C:\Users\Administrator> net start sshd
OpenSSH SSH Server サービスを開始します.
OpenSSH SSH Server サービスは正常に開始されました。
  1. ログを確認する。
    実際にssh接続を実行し、ログが出力されていることを確認してください。

補足:ログをイベントログに出力させる

SyslogFacility AUTHでイベントログに出力されます。(AUTHはデフォルトの設定値です。)
以下から参照できます。
イベントビューア->アプリケーションとサービスログ->OpenSSH->Operational

補足:ログの出力レベル

LogLevel Debug3以外の設定値はopenSSH公式マニュアルを参照してください。
https://man.openbsd.org/sshd_config

GitHubで編集を提案

Discussion