syslogd なしで sftp-server をデバッグする

syslogd なしで sftp-server をデバッグする

uclinux で dropbear ssh サーバーと openSSH sftp サーバーを実行しようとしています。ls コマンドは常に空のディレクトリを返すため (ファイル転送は正常に動作します)、sftp サーバー プログラムをデバッグする必要があります。

このステップでは、inetd の代わりに「dropbear -F -E」を使用します。

私のプラットフォームには syslogd がないので、dropbear が "sh -c" と "execv" 関数を使用して sftp-server を呼び出すため、デバッグに単純な printf を使用できません。

(「sftp-server -e」を直接実行すると、printf 出力とログは正常に機能しますが、sftp-server は ssh サーバーなしでは機能しません)

printf 出力の表示方法や、sftp-server のデバッグに関するその他の提案について、どなたか助けていただけませんか。

アップデート:

実行すると:/root # /usr/libexec/sftp-server -e -l VERBOSE >> /mnt/test2.txt

test2.txt ファイルは空です :(

ありがとう

答え1

fprintf を使用してログをテキスト ファイルに書き込むことで、sftp サーバーのデバッグに成功しました。

関連情報