Я пытаюсь настроить 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
.