Jump to content

Guidelines and HOWTOs/Debugging/Debugging IOSlaves/Debugging kio sftp

From KDE Community Wiki
Revision as of 17:08, 22 October 2022 by Sitter (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page is a starting point for debugging kio_sftp. Please also read how to debug IO slaves generically.

Overview

When you point file manager to sftp://user@target, the sftp KIO slave uses libssh to open a connection to the sftp server.

Reporting Bugs

For efficient handling of bug reports detailed information is key. Make sure to tell us:

  • The KDE Frameworks, and Dolphin version you're running
  • The libssh version installed
  • The type and version of the SFTP server (e.g. "openssh 7.0 on opensuse 42" or "libssh 0.8 on Windows 10")
  • Provide log files (see below)

Logging

Most bug reports will require debug logs to be able to move ahead. To get the debug log start dolphin from konsole or another terminal with this command:

KDE_FORK_SLAVES=1 QT_LOGGING_RULES="log_kio_sftp=true;kf.kio.workers.sftp=true;" dolphin --new-window YOUR_SFTP_URL

Make sure to replace YOUR_SFTP_URL with the actual URL that is giving you trouble (e.g. sftp://localhost). Then reproduce whatever issue you are experiencing. When you are done simply copy and paste the entire output from the terminal to the bug report.

Logging with libssh debug output

You generally do not have to provide these unless explicitly asked for.

To enable libssh debug messages in addition you have to set an additional environment variable:

KIO_SFTP_LOG_VERBOSITY=10 KDE_FORK_SLAVES=1 QT_LOGGING_RULES="log_kio_sftp=true;kf.kio.workers.sftp=true;" dolphin --new-window YOUR_SFTP_URL

Enable logging in openssh (server-side)

You generally do not have to provide these unless explicitly asked for.

Sometimes it may be useful to enable logging on the server to get a more complete picture of what's going on.

SSH Logging

Edit /etc/ssh/sshd_config

Look for LogLevel and set it to:

  LogLevel DEBUG

SFTP Logging

Edit /etc/ssh/sshd_config

Look for the sftp subsystem and appned -l DEBUG it to:

  Subsystem sftp /usr/lib64/ssh/sftp-server -l DEBUG