Подключитесь к каталогу файлов Amazon EC2, используя Filezilla и SFTP

326

Я создал экземпляр AWS EC2 и хочу иметь возможность загружать файлы в каталог сервера с помощью FileZilla самым простым и простым способом.

Эрик Бротто
источник
4
Так в чем вопрос? Если у вас есть учетные данные SSH / SFTP, просто используйте FileZilla и подключитесь к сайту? Откройте диспетчер сайтов, добавьте свой сайт (выберите SFTP в качестве протокола) и сохраните его. Сделайте так, чтобы менеджер сайтов открывался каждый раз, когда вы открываете FileZilla, поэтому вам просто нужно дважды щелкнуть по элементу Site Manager.
Ши
3
Есть ли у вас проблемы с вашей задачей?
Мартин Прикрыл
4
Хм, может быть, вы можете принять ответ?
Greeso

Ответы:

756

Я создал видеоурок для этого. Просто проверьте:

Подключитесь к каталогу файлов Amazon EC2, используя FileZilla и SFTP, Video Tutorial

Резюме вышеприведенного видеоурока:

  1. Правка (Настройки)> Настройки> Соединение> SFTP, нажмите «Добавить файл ключа»
  2. Перейдите к местоположению вашего файла .pem и выберите его.
  3. Появится окно с запросом вашего разрешения конвертировать файл в формат ppk. Нажмите Да, затем дайте файлу имя и сохраните его где-нибудь.
  4. Если новый файл отображается в списке файлов ключей, перейдите к следующему шагу. Если нет, то нажмите «Добавить ключевой файл ...» и выберите преобразованный файл.
  5. Файл> Диспетчер сайтов Добавьте новый сайт со следующими параметрами:

    Хост : ваше общедоступное DNS-имя вашего экземпляра EC2 или публичный IP-адрес сервера.

    Протокол : SFTP

    Тип входа : Нормальный

    Пользователь : Из документов : "Для Amazon Linux имя пользователя по умолчанию - ec2-user . Для RHEL5 имя пользователя часто root, но может быть ec2-user. Для Ubuntu имя пользователя - ubuntu . Для SUSE Linux - имя пользователя - root . Для Debian имя пользователя - admin . В противном случае уточните у своего поставщика AMI. "

    Нажмите кнопку подключения - если сохранение паролей было отключено, вам будет предложено изменить тип входа на «Запросить пароль». Скажите «OK», и при подключении нажмите «OK» в строке ввода пароля, не вводя пароль, чтобы выйти из диалогового окна.

    Примечание. FileZilla автоматически определяет, какой ключ использовать. Вам не нужно указывать ключ после его импорта, как описано выше.

Если вы используете Cyberduck, следуйте этому .

Проверьте этот пост, если у вас есть какие-либо проблемы с разрешениями.

Ясита Вадуге
источник
4
для бесплатных дистрибутивов уровня Ubuntu имя пользователя будет Ubuntu.
полоса
7
Чтобы добавить к тому, что было упомянуто выше, убедитесь, что вы удалили значение по умолчанию 21 в текстовом поле порта (по умолчанию для sftp), так как оно работает с портом 22. Он начал работать для меня, когда я удалил порт.
Рахул
1
Спас меня там @streak
Абрам
1
@Yasitha Chinthaka Я прошел все шаги, но не могу подключиться к своему экземпляру. Это большой экземпляр на Windows Server 2012. Любая помощь приветствуется. Я добавил правило входящих для SSH в моей группе безопасности. Нужна ли какая-либо другая конфигурация или изменения с тех пор, как вы в последний раз опубликовали этот ответ?
user2363025
Не удается подключиться, как, какое сообщение об ошибке вы получаете? Я не пробовал это с сервером Windows, но должен быть такой же процедурой ... убедитесь, что ваше имя пользователя правильное ...
Yasitha Waduge
34

Это очень просто, если вы использовали свой pem file(я использую MacOS / Windows пользователь может выполнить те же шаги.)

  1. Просто скачайте FileZilla (я использую MacOS - и скачал бесплатную версию, этого достаточно)

  2. Открыть менеджер сайтов в FileZilla (⌘S) -> Новый сайт

введите описание изображения здесь

  1. Введите имя вашего хоста в поле Host .

Пример: eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com

  • Выберите протокол в качестве SFTP - SSH Протокол передачи файлов

  • Выберите тип входа в качестве ключевого файла

  • Введите свое имя пользователя в поле User : для меня это Ubuntu ( найдите своего пользователя ssh )

Примечание:

ОС против имени пользователя

Amazon - ec2-пользователь

Centos - сентос

Debian - администратор или root

Fedora - ec2-пользователь

RHEL - ec2-пользователь или root

SUSE - ec2-пользователь или root

Ubuntu - Ubuntu или root

  1. В поле «Файл ключа» найдите файл pem и нажмите «Подключиться».

введите описание изображения здесь

  1. Это все :) веселиться!

Примечание:

(Не забудьте разрешить SSH-соединение с вашим IP-адресом из EC2) Если нет, вы получите сообщение об ошибке подключения!

Примечание. Разрешение вашему IP-адресу подключаться к вашему экземпляру aws через SFTP.

EC2 -> SecurityGroups -> SSH -> Входящие правила -> Редактировать -> Добавить правило (SSH | TCP | 22 | Мой IP (автоматически получают ip | имя для правила) -> Сохранить

Эльшан
источник
filezilla шифрует ключи aws на диске или хранит в виде простого текста?
red888
Я считаю, что файл ключа уже зашифрован, поэтому он просто передает файл как есть. не зашифрован. Но если вы используете обычную аутентификацию с использованием имени пользователя и пароля в Filezilla, они шифруют пароль.
Эльшан
Это замечательно, но я хотел добавить примечание: вместо публичного имени хоста я использовал IP-адрес IPv4 для ввода хоста. Вот когда это сработало для меня.
Bennybear
22

Если кто-то выполняет все шаги и не имеет успеха, убедитесь, что вы используете правильного пользователя. Я пытался использовать «ec2-user», но мне нужно было использовать «ubuntu».

Jerad
источник
У меня не было успеха на RedHat и имя пользователя "ec2-user".
ВНИМАНИЕ
Для пользователей WordPress с наиболее часто используемым WordPress, сертифицированным для установки Bitnami, он находится на сервере Ubuntu и, следовательно, имя пользователя ubuntu :)
Peter Højlund Andersen
20

Убедитесь, что вы используете порт 22. Filezilla по умолчанию будет использовать порт 21 для SFTP.

TJ Tang
источник
7

Только одна небольшая заметка к хорошо объясненному принятому ответу Яситы Чинтаки:

Примечание. FileZilla автоматически определяет, какой ключ использовать. Вам не нужно указывать ключ после его импорта, как описано выше.

В моем случае у меня уже были другие 5 ppks из других экземпляров, которые я использовал в прошлом (с ppk нового экземпляра в нижней части этого списка). Я добавил новый ppk моего нового экземпляра, и он не позволил мне подключиться к нему. Сообщение об ошибке: слишком много попыток / попыток.

После того, как я удалил неиспользованные ppks, я наконец смог войти в экземпляр.

Так что нет, Filezilla не такая умная ;-)

Лусио Моллинедо
источник
1
Это решило проблему, которая у меня была. Спасибо за публикацию!
мнущ
4

Вы можете использовать любой FTP-клиент. Я использую Winscp, и он работает просто отлично. Во всех этих клиентах; Вы можете указать безопасный ключ ssh.

Дипак Сингхал
источник
4

FileZilla не работал для меня, я продолжал получать эту ошибку:

Disconnected: No supported authentication methods available (server sent: publickey)

То, что сработало, было sftpкомандой.

Соединитесь с экземпляром EC2 с

sftp -i "path/to/key.pem" ec2-user@ec2-54-212-34-84.us-west-2.compute.amazonaws.com

Скачивание файлов / каталогов

Для скачивания path/to/source/file.txtи path/to/source/dir:

lcd ~/Desktop
cd path/to/source
get file.txt
get -r dir

Загрузка файлов / каталогов

Для загрузки localpath/to/source/file.txtи ~/localpath/to/source/dirдля remotepath/to/dest:

lcd localpath/to/source
cd remotepath/to/dest
put file.txt
put -r dir
Килиан Батцнер
источник
У Filezilla также есть sftp
Эльшан
Та же проблема с filezilla 3.7. У меня тоже работал инструмент командной строки sftp.
Сохейл Поурбафрани
0

Старый вопрос, но я обнаружил, что все, что вам нужно, это добавить файл ppk. Настройки -> Подключения -> SFTP -> Добавить ключевой файл. Имя пользователя и хост совпадают с тем, что вы указали бы при использовании замазки, которая упоминается в http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-. connect-to-instance-linux.html Может кому-то помочь.

xelber
источник
0

В моем случае Filezilla отправляет ppk-файл AWS на любой другой FTP-сервер, к которому я пытаюсь безопасно подключиться.

Это безумие. Существует обходной путь, как написано ниже, но это некрасиво.

Это не ведет себя хорошо, как @Lucio M указал.

Из этого обсуждения: https://forum.filezilla-project.org/viewtopic.php?t=30605

n0lqu:

Согласовано. Однако, учитывая, что я не могу контролировать работу сервера, есть ли способ указать в FileZilla, что сайт должен проходить аутентификацию с помощью пароля, а не ключа, или наоборот? Или попросите сначала ввести пароль, а затем вводить пароль только в случае сбоя пароля? Мне кажется, что сначала он пытается набрать ключ, а затем не получает возможности попробовать пароль.

Botg (администратор Filezilla) ответил:

Там нет такой опции.

n0lqu:

Можно ли добавить такую ​​опцию или есть какие-нибудь хорошие обходные пути, которые кто-нибудь может порекомендовать? Прямо сейчас единственный известный мне обходной путь - это удалить ключ из общих настроек, добавить его обратно только при подключении к конкретному сайту, который требует его, а затем удалить его снова, когда это будет сделано, чтобы не испортить другие сайты.

botg:

Прямо сейчас у вас может быть два экземпляра FileZilla с отдельными каталогами конфигурации (например, один установленный и один переносной).

timboskratch:

У меня была такая же проблема сегодня, и мне удалось ее решить, изменив «тип входа» в соединение, используя пароль в менеджере сайта. Вместо «Нормальный» я мог выбрать «Интерактивный» или «Запросить пароль» (не совсем уверен, в чем разница), а затем, когда я снова попытался подключиться к сайту, я получил запрос на ввод пароля и затем подключился. успешно. Это не идеально, так как это означает, что вы должны запоминать и повторно вводить пароль каждый раз, когда вы подключаетесь, но лучше, чем устанавливать 2 экземпляра FileZilla. Я полностью согласен с тем, что в Менеджере сайтов было бы очень полезно иметь полные параметры того, как вы хотите, чтобы FileZilla подключался к каждому настроенному сайту (использовать ли пароль, ключ и т. Д.). Надеюсь, это полезно! Тим

Также см .: https://forum.filezilla-project.org/viewtopic.php?t=34676.

Ну, это похоже:

Для нескольких FTP-сайтов с ключами / паролями используйте несколько установок Filezilla, ИЛИ используйте один и тот же ключ ppk для всех серверов.

Я хотел бы, чтобы был способ сообщить FileZilla, какой ppk для какого сайта в Site Manger

site80443
источник
0

самое простое и понятное - создать логин на FTP. Вот небольшой и простой для понимания учебный сайт о самом стеке потока, как настроить его за 2 минуты ... Настройка FTP на Amazon Cloud Server

guido _nhcol.com.br_
источник
1
Я сделал ссылку на URL на stackoverflow. Я не считаю это внешней ссылкой, а вы?
Гидо _nhcol.com.br_
0

Прежде всего, Filezilla - клиент / сервер FTP / SFTP. Нам нужно будет использовать клиента для этой цели.

1) Загрузите клиент с URL: https://filezilla-project.org/

2) Перейдите в консоль управления AWS, а затем в EC2. Выберите экземпляр, к которому вы хотите получить доступ, затем скопируйте DNS или IP-адрес экземпляра, а затем вставьте его в имя хоста Filezilla.

Follow Image: доступ к инстансу Amazon через FileZilla

3) Затем введите имя пользователя для созданного вами экземпляра. Для Amazon-ami это будет ec2-user, а для других ОС - другое. Затем введите пароль и порт, который будет 21 или 22.

4) Затем он запросит ключ в формате pem, просто выберите файл .pem и подтвердит аутентификацию. Нажмите Да, и тогда вы сделали.

Примечание. В вашей группе безопасности EC2 разрешите порты 21 и 22, в зависимости от того, что требуется для доступа по FTP.

Патрик Р
источник
0

все, что вам нужно сделать, это: 1. открыть менеджер сайта на filezilla 2. добавить новый сайт 3. дать адрес хоста и порт, если порт не является портом по умолчанию 4. тип связи: SFTP 5. файл ключа типа сеанса 6. поставить имя пользователя 7. выберите каталог с ключевыми файлами, но будьте осторожны в Windows Explorer. По умолчанию файл ppk ищет. Выберите все файлы в выпадающем списке, затем выберите файл pem, и все готово.

поскольку вы добавляете новый сайт и настраиваетесь в следующий раз, когда хотите подключиться, просто выберите сохраненный сайт и подключитесь. Вот и все.

Эбузер Таха КАНАТ
источник
-5

https://www.cloudjojo.com/how-to-connect-ec2-machine-with-ftp/

  1. Сначала вы должны установить на ваш компьютер ec2 какой-нибудь ftp-сервер, например vsftpd.
  2. Настройте файл конфигурации vsftpd, чтобы разрешить запись и открытие портов.
  3. Создать пользователя для FTP-клиента.
  4. Соединитесь с клиентом ftp как filezilla.

Убедитесь, что вы открыли порт 21 в группе безопасности aws.

Рохит Шарма
источник