При подключении к серверу через SFTP я могу использовать -o
указать LogLevel
, вот так:
sftp -oLogLevel=DEBUG3 username@host
Это дает массу отладочной информации о процессе входа в систему. Однако до этого момента все отладки прекращаются:
debug1: Sending subsystem: sftp
debug2: channel 0: request subsystem confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 131072
debug2: channel_input_status_confirm: type 99 id 0
debug2: subsystem request accepted on channel 0
Connected to host.
sftp> ls
Some Directories
sftp> cd Some
sftp> ls
sftp> quit
debug2: channel 0: read<=0 rfd 4 len 0
debug2: channel 0: read failed
debug2: channel 0: close_read
debug2: channel 0: input open -> drain
debug2: channel 0: ibuf empty
debug2: channel 0: send eof
debug2: channel 0: input drain -> closed
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
Received disconnect from <IP>: 11: User Disconnected
Что об этом ls
команда? Где я могу получить отладку для этого? cd
? quit
?
Кроме того, у меня нет никакого контроля над удаленным сервером, поэтому я не спрашиваю о настройке подсистемы SFTP на сервере через sshd_config
. Я пробовал это, и это не работает.
В sftp-client.c
В файле есть вызовы debug3, так куда они идут?
Использовать -vvv
переключиться на sftp
. Варианты -o
передаются непосредственно в ssh
процесс, но не эффективен для sftp
сам.
Это хорошо описано на странице руководства для sftp
:
-v Raise logging level. This option is also passed to ssh.
Так же -o
объясняет, что он передается ssh
и не эффективен в sftp
обработать:
-o ssh_option
Может использоваться для передачи параметров в ssh в формате, используемом в ssh_config (5). Это полезно для указания параметров, для которых нет отдельного флага командной строки sftp. Например, чтобы указать альтернативный порт, используйте: sftp -oPort = 24. Для получения полной информации о параметрах, перечисленных ниже, и их возможных значениях см. Ssh_config (5).