Назад | Перейти на главную страницу

Где я могу найти журналы для SFTP?

Я пытаюсь настроить sftp-сервер, но клиент получает ошибку, Connection closed by server with exitcode 1

/var/log/auth.log (ниже) мало помогает, как я могу узнать, в чем ошибка?

Я использую Ubuntu 10.04.1 LTS

sshd[27236]: Accepted password for theuser from (my ip) port 13547 ssh2
sshd[27236]: pam_unix(sshd:session): session opened for user theuser by (uid=0)
sshd[27300]: subsystem request for sftp
sshd[27236]: pam_unix(sshd:session): session closed for user theuser

Обновление: я подталкивал это некоторое время, у меня есть команда sftp на другом сервере, которая дает мне более полезную ошибку.

Request for subsystem 'sftp' failed on channel 0
Couldn't read packet: Connection reset by peer

Все, что я нашел в сети, предполагает, что этот идентификатор является проблемой с sftp-сервером, но когда я удаляю chroot из конфигурации sshd, я могу получить доступ к системе. Я предполагаю, что это означает, что sftp-сервер доступен и настроен правильно.

У меня была точно такая же проблема. Как и предлагает MikeyB, вам, вероятно, потребуется изменить подсистему на internal-sftp. Я изменил в sshd_config следующее:

Subsystem sftp /usr/lib/openssh/sftp-server

Чтобы

Subsystem sftp internal-sftp

Вы также должны изменить значение ForceCommand в строфе Match примерно так:

Match User john-doe
    ChrootDirectory %h
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

По крайней мере, это сработало для меня, надеюсь, это кому-то поможет.

Sftp-server - это внешний двоичный файл. Скорее всего, это не в вашей среде chroot.

Если вы измените sshd_config для использования внутренней подсистемы (если она доступна), она должна начать работать с chroot.

Только что имел это у себя.

Пользователю просто нужно иметь разрешения SSH.