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


326

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


4
То яке питання? Якщо у вас є облікові дані SSH / SFTP, просто скористайтеся FileZilla та підключіться до сайту? Відкрийте диспетчер сайтів, додайте свій сайт (виберіть SFTP як протокол) і зберігайте його. Зробіть, щоб менеджер сайтів відкривався щоразу, коли ви відкриваєте FileZilla, так що вам просто потрібно двічі клацнути по елементу Диспетчер сайтів.
Ши

3
Якась конкретна проблема, у вас виникає завдання?
Мартін Прикрил

4
Гм, може, ви можете прийняти відповідь?
Greeso

Відповіді:


756

Я створив для цього відеоурок. Просто перевірте:

Підключіться до каталогу файлів Amazon EC2 за допомогою FileZilla та SFTP, Відеоурок

Підсумок вищевказаного відеоуроку:

  1. Змінити (Налаштування)> Налаштування> З'єднання> SFTP, натисніть "Додати ключовий файл"
  2. Перейдіть до місця .pem-файлу та виберіть його.
  3. З'явиться вікно з проханням дозволити конвертувати файл у формат ppk. Клацніть Так, потім дайте ім'я файлу та зберігайте його десь.
  4. Якщо новий файл відображається у списку ключових файлів, перейдіть до наступного кроку. Якщо ні, натисніть «Додати ключ файлу ...» та виберіть перетворений файл.
  5. Файл> Менеджер сайтів Додайте новий сайт із такими параметрами:

    Хост : Ваше загальнодоступне ім'я DNS вашого екземпляра EC2 або загальнодоступна IP-адреса сервера.

    Протокол : SFTP

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

    Користувач : З документів : "Для Amazon Linux за замовчуванням ім'я користувача - ec2-користувач . Для RHEL5 ім'я користувача часто є кореневим, але може бути користувачем ec2. Для Ubuntu ім'я користувача - ubuntu . Для SUSE Linux - ім'я користувача є root . Для Debian ім'я користувача адміністратор . В іншому випадку зверніться до свого постачальника послуг AMI. "

    Натисніть кнопку Connect - Якщо збереження паролів було вимкнено, вам буде запропоновано змінити тип входу на "Попросити пароль". Скажіть "ОК", і під час підключення, у вікні пароля натисніть "ОК", не вводячи пароль, щоб пройти повз діалогове вікно.

    Примітка: FileZilla автоматично визначає, який ключ використовувати. Не потрібно вказувати ключ після імпорту, як описано вище.

Якщо ви використовуєте Cyberduck, дотримуйтесь цього .

Перевірте цю публікацію, якщо у вас є проблеми з дозволом.


4
Я не можу отримати доступ до посилання david jensen, проте я можу увійти як ubuntu (після того, як я дотримувався інструкцій, подібних до тих, про які ви писали вище), але не як будь-який інший користувач, чи є у вас ідеї чи посилання, які можуть вказувати на мене праворуч напрямок сюди?
ak85

4
для безкоштовних ярусних дистрибутивів ubuntu ім'я користувача буде ubuntu.
серія

7
Щоб додати до сказаного вище, переконайтесь, що ви видалили значення за замовчуванням 21 у текстовому полі порту (за замовчуванням для sftp), як здається, працює з портом 22. Він почав працювати для мене, коли я видалив порт.
rahul

1
Врятували мене там @streak
Аврам

1
@Yasitha Chinthaka Я дотримувався всіх кроків, але не можу підключитися до моєї інстанції. Це великий екземпляр на сервері Windows 2012. Будь-яка допомога вдячна. Я додав вхідне правило для SSH у своїй групі безпеки. Чи потрібна якась інша конфігурація чи зміни з моменту останнього опублікування цієї відповіді?
user2363025

34

Це дуже просто, якщо ви використовували ваш pem file(я використовую MacOS / Windows, користувач може виконувати ті ж самі дії.)

  1. Просто завантажте файл FileZilla (я використовую MacOS - і завантажили безкоштовну версію, це досить добре)

  2. Відкрийте диспетчер сайтів у FileZilla (⌘S) -> Новий сайт

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

  1. Введіть ім'я хоста в поле Хост .

Приклад: eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com

  • Виберіть протокол як SFTP - протокол передачі файлів SSH

  • Виберіть тип входу як ключовий файл

  • Введіть своє ім’я користувача у поле Користувач : для мене це 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-користувача", але мені потрібно було використовувати "ubuntu".


У RedHat у мене не було успіху, а ім'я користувача - "ec2-користувач".
NOTiFY

Для користувачів WordPress з найбільш використовуваною програмою WordPress, сертифікованої установкою Bitnami, вона знаходиться на сервері Ubuntu, а тому ім'я користувача ubuntu :)
Peter Højlund Andersen

20

Переконайтеся, що ви використовуєте порт 22. Filezilla за замовчуванням встановить порт 21 для SFTP.


7

Лише одна незначна примітка до добре поясненої прийнятої відповіді Ясіти Чинтака:

Примітка: FileZilla автоматично визначає, який ключ використовувати. Не потрібно вказувати ключ після імпорту, як описано вище.

У моєму випадку у мене вже були інші 5 ppks з інших примірників, які я використовував у минулому (при цьому ppk нового екземпляра знаходився внизу цього списку). Я додав новий ppk мого нового екземпляра, і він не дозволив мені підключитися до нього. Повідомлення про помилку: занадто багато спроб / спроб.

Після того, як я видалив невикористані ppks, я нарешті зміг увійти до екземпляра.

Так ні, Filezilla не така розумна ;-)


1
Це вирішило проблему, яку я мав. Дякуємо за публікацію!
mnutsch

4

Ви можете використовувати будь-який FTP-клієнт. Я використовую wincp, і він працює чудово. У всіх цих клієнтів; ви можете вказати захищений ключ 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

Завантаження файлів / dirs

Щоб завантажити path/to/source/file.txtта path/to/source/dir:

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

Завантаження файлів / dirs

Щоб завантажити 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 працював і для мене.
Soheil Pourbafrani

0

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


0

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

Це божевільно. Існує рішення, як написано нижче, але це некрасиво.

Це веде себе не так добре, як вказував @Lucio M.

З цього обговорення: https://forum.filezilla-project.org/viewtopic.php?t=30605

n0lqu:

Домовились. Однак, враховуючи, що я не можу контролювати роботу сервера, чи є в FileZilla спосіб вказати, що сайт повинен автентифікувати пароль, а не ключ, чи навпаки? Або скажіть спершу спробувати пароль, а потім введіть лише в разі відмови пароля? Мені здається, він спробує спершу ключ, а потім не отримує шансу спробувати пароль.

botg (адміністратор Filezilla) відповів:

Такого варіанту немає.

n0lqu:

Чи можна додати такий варіант, чи є якісь хороші шляхи вирішення, які хтось може порекомендувати? Наразі єдиний спосіб, який я знаю, - це видалити ключ із загальних налаштувань, додати його лише під час підключення до конкретного сайту, який цього вимагає, а потім видалити його знову, коли буде зроблено, щоб він не зіпсував інші сайти.

ботг:

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

тембоскратч:

Сьогодні у мене була ця сама проблема і вдалося її вирішити, змінивши "тип входу" з'єднання за допомогою пароля в менеджері сайту. Замість "Звичайного" я міг вибрати "Інтерактивний" або "Запитати пароль" (не дуже впевнений, у чому різниця), і тоді, коли я спробував знову підключитися до сайту, він дав мені підказку ввести свій пароль, а потім підключився успішно. Це не ідеально, оскільки це означає, що вам потрібно пам’ятати і повторно вводити пароль під час кожного підключення, але краще, ніж встановлювати два екземпляри FileZilla. Я повністю погоджуюся з тим, що в диспетчері сайтів було б дуже корисно мати всі варіанти того, як ви хочете, щоб FileZilla підключався до кожного створеного сайту (чи використовувати пароль, ключ тощо). Сподіваюся, це корисно! Тім

Також дивіться: https://forum.filezilla-project.org/viewtopic.php?t=34676

Отже, здається:

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

Я хотів би, щоб був спосіб сказати FileZilla, який ppk є для якого сайту в Менеджері сайтів


0

найпростіший і прямий вперед - це створення логіна FTP. Ось невеликий і простий для розуміння сайт підручника щодо самого stackoverflow, як налаштувати речі за 2 хвилини ... Налаштування FTP на Amazon Cloud Server


1
Я перейшов до URL-адреси на stackoverflow. Я не вважаю це зовнішнім посиланням, чи не так?
guideo _nhcol.com.br_

0

Насамперед Filezilla - це клієнт / сервер FTP / SFTP. Для цього нам потрібно буде використовувати клієнта.

1) Завантажте клієнта з URL-адреси: https://filezilla-project.org/

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

Дотримуйтесь зображення: Доступ до інстанції Amazon через FileZilla

3) Потім введіть ім'я користувача для створеного вами екземпляра. Для Amazon-ami це буде користувач ec2, а для інших ОС - це було б інакше. Потім введіть пароль і порт, який буде 21 або 22.

4) Потім він попросить ключ, який знаходиться у форматі pem, просто виберіть .pem файл, і тоді він підтвердить автентифікацію. Клацніть на Так, і тоді Ви закінчили.

Примітка. У групі безпеки EC2 дозвольте порти №21 та 22, залежно від доступу до FTP.


0

все, що вам потрібно зробити, це: 1. відкрити менеджер сайтів у filezilla 2. додати новий сайт 3. надати адресу хосту та порт, якщо порт не є портом за замовчуванням 4. тип комунікації: SFTP 5. ключ ключа сеансу, тип файлу 6. поставте ім’я користувача 7. Виберіть каталог ключових файлів, але остерігайтеся провідника файлів Windows, шукає файл 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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.