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

не удалось настроить sftp в ec2

Я пытался настроить sftp в AWS EC2, следуя инструкциям в https://silicondales.com/tutorials/aws-ec2-tutorials/setup-ftp-sftp-aws-ec2-instance/

Я сделал следующие шаги

  1. Запущен новый инстанс EC2
  2. Вы вошли как пользователь ec2
  3. Установлен vsftpd
  4. Обновлены правила группы безопасности с помощью Custom TCP Rules - диапазоны портов 20-21 и 1024-1048.
  5. Ниже изменения внесены в /etc/vsftpd/vsftpd.conf

    anonymous_enable=NO
    pasv_enable=YES
    pasv_min_port=1024
    pasv_max_port=1048
    pasv_address=[MY PUBLIC IP]
    chroot_local_user=YES
    
  6. Создал нового пользователя и установил пароль

    adduser silicondales
    passwd silicondales
    
  7. Перезагрузил /etc/init.d/vsftpd restart. Это успешно, когда я получаю сообщение

После всего этого я пытаюсь подключиться с моей локальной машины

sftp -oPort=1024 <username>:<password>@<public ip address> и получение ssh: connect to host <Public_IP> port 1024: Connection refused ошибка Я не мог понять проблему. Пожалуйста, помогите мне решить эту проблему

Хорошо, чтобы ответить на этот вопрос, нужно кое-что уточнить: vsftpd реализует протокол FTP. sftp не реализовать протокол FTP. Несмотря на то, что в названии есть «ftp», он имеет мало общего с FTP, кроме эмуляции его поведения на стороне клиента. Если вы хотите использовать sftp, вам не нужен vsftpd. Скорее, sftp использует SSH-сервер, который, вероятно, уже присутствует на вашем сервере.

С точки зрения сети и безопасности ssh / sftp являются много безопаснее и удобнее, чем ftps (что может предоставить vsftpd), и если у вас нет веской причины не использовать sftp, просто брось vsftpd. Тебе это не нужно.

SSH, который уже запущен, предоставляет SFTP. Тот же ключ, с которым вы входите в SSH, позволяет входить в систему по SFTP. Сервис SFTP предоставляется SSH, тем же программным обеспечением, которое позволяет вам войти в систему.

Вы можете добавлять пользователей и разрешать им входить в систему через SFTP. Это, например, упрощает создание пользователя, который имеет доступ только к вашему корневому веб-каталогу. У меня есть статья об этом для Amazon Linux на мой блог, который включает несколько изображений. Основные части

Создать нового пользователя

sudo su
sudo useradd fred
passwd fred

Создайте новую пару ключей

su fred
ssh-keygen -f rsa

mkdir .ssh

touch .ssh/authorized_keys
chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

cat fred.pub >> /home/fred/.ssh/authorized_keys

Разрешить пользователю войти в систему

vi /etc/ssh/sshd_config
PasswordAuthentication no
AllowUsers ec2-user fred