Этот вопрос очень сильно связан с этим вопросом. Ответ там полезный, но, к сожалению, неполный. Как добавить пользователя с доступом по SFTP / FTP в папку '/ var / www / html / website_abc' на Amazon EC2 Centos?
Я хочу предоставить доступ третьей стороне к части моей структуры каталогов в моем экземпляре Amazon EC2. Я последовал за этот учебник добавить группу и пользователя, а затем этот учебник исключить этого пользователя. Мне непонятно, как продолжить после этих двух шагов. Ниже приведены шаги, предпринятые более подробно, и где я застрял.
Добавить группу и пользователя
В терминале:
sudo groupadd sftp
sudo useradd -g sftp thirdparty
sudo usermod -G sftp thirdparty
sudo usermod -s /bin/false thirdparty
sudo chown root:root /var/www/html/exports/thirdparty
sudo chmod 0755 /var/www/html/exports/thirdparty
sudo passwd thirdparty (set password e.g. to abcd)
Исключить этого пользователя
Добавьте эти строки в etc/ssh/sshd_config
:
Subsystem sftp /usr/lib/openssh/sftp-server
Match Group sftp
ChrootDirectory %h
AllowTcpForwarding no
X11Forwarding no
ForceCommand /usr/lib/openssh/sftp-server
Перезагрузите OpenSSH:
/etc/init.d/ssh restart
Удаленный доступ
С этого момента непонятно, что делать дальше. В руководствах упоминается использование FileZilla, но не совсем то, как это сделать. Пробую следующее.
Попытка 1
Host: 12.34.56.789 (public IP from EC2 Management Console)
Username: thirdparty
Password: abcd
Port:
--> Quickconnect
Status: Connecting to 12.34.56.789:21...
Error: Connection timed out after 20 seconds of inactivity
Error: Could not connect to server
Попытка 2
Host: 12.34.56.789 (public IP from EC2 Management Console)
Username: thirdparty
Password: abcd
Port: 22
--> Quickconnect
FileZilla предупреждает о неизвестном ключе хоста. Я нажимаю ОК, чтобы доверять хосту, и продолжаю соединение. Я (пока) не добавил ключ в кеш.
Status: Connecting to 12.34.56.789...
Response: fzSftp started, protocol_version=2
Command: open "thirdparty@12.34.56.789" 22
Command: Trust new Hostkey: Once
Error: Disconnected: No supported authentication methods available (server sent: publickey)
Error: Could not connect to server
Может ли кто-нибудь указать мне, что делать дальше? Это связано с SSH или с AWS (с VPC)?
В Amazon EC2 по умолчанию отключена аутентификация по паролю SSH, и именно это сообщение содержится в вашем Attempt 2
дело говорит. Вам нужно либо настроить вход с помощью ключа ssh для вашего пользователя (хорошо), либо обновить /etc/sshd_config
для включения аутентификации по паролю (плохо).