Guidelines and HOWTOs/Debugging/Debugging IOSlaves/Debugging kio sftp: Difference between revisions

From KDE Community Wiki
*>Asn
(Added a page for kio_sftp)
 
No edit summary
 
(11 intermediate revisions by 5 users not shown)
Line 3: Line 3:
= Overview =
= Overview =


When you point file manager to sftp://''user''@''target'', [http://websvn.kde.org/trunk/KDE/kdebase/runtime/kioslave/sftp/kio_sftp.cpp?view=log the sftp kioslave] uses [http://www.libssh.org libssh] to open a connection to the sftp server.
When you point file manager to sftp://''user''@''target'', the sftp KIO slave uses [http://www.libssh.org 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 =
= Logging =


You may want to switch on logging for kio_sftp.
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:
 
{{Input|1=<nowiki>
KDE_FORK_SLAVES=1 QT_LOGGING_RULES="log_kio_sftp=true;kf.kio.workers.sftp=true;" dolphin --new-window YOUR_SFTP_URL
</nowiki>}}
 
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:
 
{{Input|1=<nowiki>
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
</nowiki>}}
 
= 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 ==


In this example, we want to log the output to /tmp/kio_sftp.log. Open a konsole or run the command 'kdebugdialog --fullmode'.
Edit {{Path | /etc/ssh/sshd_config }}


In the "Debug Area" select "7120 kio_sftp". In the Information box select 'Information' as the "Output" and use '/tmp/kio_sftp.log' a the "File".
Look for LogLevel and set it to:


To enable logging you have to reload the slave system. You can do this by calling:
{{Input|1=<nowiki>
  LogLevel DEBUG
</nowiki>}}


'kdeinit4'
== SFTP Logging ==


= Logging with libssh debut output =
Edit {{Path | /etc/ssh/sshd_config }}


To enable libssh debug messages in addition you have to set an environment variable before calling kdeinit.
Look for the sftp subsystem and appned <code>-l DEBUG</code> it to:


KIO_SFTP_LOG_VERBOSITY=2 kdeinit4
{{Input|1=<nowiki>
  Subsystem sftp /usr/lib64/ssh/sftp-server -l DEBUG
</nowiki>}}

Latest revision as of 17:08, 22 October 2022

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