входящие разговоры по SFTP?

Мое приложение (JetBrains CLion) подключается к моему удаленному серверу по SFTP и помещает туда файлы. К сожалению, файлы появляются заполненными нулевыми байтами.Я хочу проследить, что пошло не так.

Могу ли я запустить что-нибудь на своем сервере для мониторинга сеансов SFTP в режиме реального времени и посмотреть, что происходит. Я root на сервере. Сервер работает под управлением Ubuntu 16.

P.S. Если я сам запущу SFTP и положу файлы, все будет в порядке.


На стороне клиента я не вижу никаких проблем в логах: просто какой-то сеанс с put, stat и подобными командами с выводом Ok. Так что хотелось бы отлаживать серверную часть тоже.

0
06.06.2019, 15:20
1 ответ

Сервер OpenSSH использует программу с именем sftp -сервер для сеансов SFTP. sftp-serverесть несколько опций для управления логированием:

-f log_facility
Specifies the facility code that is used when logging messages from sftp-server. The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The default is AUTH.

-l log_level
Specifies which messages will be logged by sftp-server. The possible values are: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. INFO and VERBOSE log transactions that sftp-server performs on behalf of the client. DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify higher levels of debugging output. The default is ERROR.

Чтобы применить их, откройте системный файл sshd _config и найдите строку Subsystemдля SFTP. Это будет выглядеть как одна из этих двух строк:

Subsystem   sftp    /path/to/sftp-server
Subsystem   sftp    internal-sftp

Все, что у вас есть, добавляет аргументы ведения журнала в конец:

Subsystem   sftp    /path/to/sftp-server -l DEBUG3

После редактирования sshd_config,вы должны перезапустить sshd, чтобы изменения вступили в силу.

После выполнения всех этих действий сеансы SFTP должны начать записывать отладочную информацию в системный журнал. Вы можете использовать отладочные сообщения для отслеживания команд, отправленных клиентом, и операций с файловой системой, которые выполняет сервер SFTP.

Серверная программа sftp -написана на C, и вы можете найти исходный код здесь . Если вы можете понять это, вы, вероятно, найдете исходный код полезным для понимания сообщений журнала.

0
28.01.2020, 03:36

Теги

Похожие вопросы