Использование открытого ключа SSH работает, но SFTP выдает ошибку

Использование открытого ключа SSH работает, но SFTP выдает ошибку

На сервере я установил openSUSE, настроил SSH так, чтобы был разрешен только один пользователь, разрешен только открытый ключ (без pam, без пароля), приходящий с определенного IP.

SSH работает, переадресация X11 работает, SFTP работает.

Теперь мне нужна была вторая система, практически идентичная с точки зрения внешнего мира. Я установил Xubuntu, настроил SSH, брандмауэр, скопировал точно такую ​​же конфигурацию SSH и ключи из openSUSE, и...

SSH работает, пересылка X11 работает, SFTPнеработа.

Я использую FileZilla для подключения, и он выдает ошибку "sftp получил неожиданный конец файла от сервера sftp". Я немного погуглил и нашел совет проверить "/var/log/auth.log" на сервере, что я и сделал, и все было замечательно, когда я пытаюсь подключиться с помощью SFTP, я вижу только одно сообщение "sshd[11835]: Accepted publickey for ...".

Что может быть причиной такой разницы и как ее исправить?

решение1

Наконец нашел. Я попробовал другие клиенты, надеясь, что один из них прольет свет на ситуацию, и действительно, "sftp -v" это сделал. Конфигурация sshd, которую я скопировал, использовала внешний сервер sftp (который присутствовал в openSUSE, но не был в Xubuntu). Я изменил его на внутренний сервер, и теперь я могу подключаться и с помощью Xubuntu.

Вот пост, который помог:OpenSSH: Разница между внутренним sftp и sftp-сервером

решение2

Вы уже установили FTP-сервер? Если нет, установите демон FTP-сервера, например vsftp, как показано ниже

sudo zypper -n in vsftpd

Затем настройте /etc/vsftpd.confфайл. В противном случае перепроверьте конфигурацию клиента и убедитесь, что вы указали правильный каталог закрытого и открытого ключа SSH.

Связанный контент