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

sftp Нет доступных поддерживаемых методов аутентификации

Я пытаюсь настроить sftp для загрузки / скачивания файлов из определенного каталога (var / www / mysite.com)

Моя проблема в том, что я пытаюсь подключиться с помощью Filezilla и получаю сообщение об ошибке

Нет поддерживаемых методов аутентификации (отправлено сервером: открытый ключ)

Поэтому я думаю, что пропустил шаг при настройке и настройке sftp на моем сервере Ubuntu LAMP. Я не хочу, чтобы я мог использовать sftp, используя имя пользователя и пароль, а не ключевой файл.

Вот что я сделал: создал пользователя с паролем через SSH.

sudo adduser <username> www-data

Затем я

sudo nano /etc/vsftpd.conf

и внутри набора файлов chroot_local_user=YES и закомментировал chroot_list_enable=YES Затем я перезапустил sftp, используя:

sudo service vsftpd restart

Затем я настроил каталог пользователей sudo usermod -d /var/www/mydomain.com примечание, которое я заменил на имя пользователя, которое я создал

Затем я

sudo nano /etc/ssh/sshd_config

и добавил ниже в конец файла

Subsystem  sftp  internal-sftp
Match user <username>
ChrootDirectory /var/www/mydomain.com
ForceCommand internal-sftp
AllowTcpForwarding no

и убедитесь, что дальше в файле это закомментировано (т.е. перед тем, что вы только что добавили)

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

Затем я перезапустил ssh, используя:

sudo service ssh restart

и изменил разрешения, используя:

chown root:root /var/www
chown root:root /var/www/mydomain.com
chmod 755 /var/www

Наконец я сделал:

sudo chown -R www-data:www-data /var/www/mydomain.com
chmod 755 /var/www/site

Однако я не могу войти в sftp через filezilla ??

Когда я запускаю команду ssh:

sftp -vvv user@servername

Я получаю ниже. У меня нет / secure в папке var / log?

когда я запускаю вышеупомянутый отзыв, я получаю этот результат

OpenSSH_7.2p2 Ubuntu-4ubuntu2.1, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
/etc/ssh/ssh_config: line 57: Bad configuration option: usepam
/etc/ssh/ssh_config: line 58: Bad configuration option: subsystem
debug2: checking match for 'user <username>' host *****.com originally *****.com
debug3: /etc/ssh/ssh_config line 59: not matched 'user "*****"'
debug2: match not found
/etc/ssh/ssh_config: line 60: Bad configuration option: chrootdirectory
/etc/ssh/ssh_config: line 61: Bad configuration option: forcecommand
/etc/ssh/ssh_config: line 62: Bad configuration option: allowtcpforwarding
/etc/ssh/ssh_config: terminating, 5 bad configuration options
Couldn't read packet: Connection reset by peer
/etc/ssh/ssh_config: line 60: Bad configuration option: chrootdirectory
/etc/ssh/ssh_config: line 61: Bad configuration option: forcecommand
/etc/ssh/ssh_config: line 62: Bad configuration option: allowtcpforwarding
/etc/ssh/ssh_config: terminating, 5 bad configuration options

Вы помещаете эти параметры конфигурации в ssh_config вместо того sshd_config. Они не действуют в первом.

sudo chown -R www-data:www-data /var/www/mydomain.com

Это тоже неправильно, потому что chroot каталог должен принадлежать root и не должен быть доступен для записи другим пользователям, как описано во многих ответах и ​​на странице руководства для sshd_config.