Połącz się z katalogiem plików Amazon EC2 za pomocą Filezilla i SFTP


326

Utworzyłem Instancję AWS EC2 i chcę móc przesyłać pliki do katalogu serwera za pomocą FileZilla w najprostszy i najprostszy możliwy sposób.


4
Więc jakie jest pytanie? Jeśli masz poświadczenia SSH / SFTP, po prostu użyj FileZilla i połącz się z witryną? Otwórz Site Manager, dodaj swoją stronę (wybierz SFTP jako protokół) i zapisz ją. Spraw, aby Site Manager był otwierany za każdym razem, gdy otwierasz FileZilla, więc po prostu kliknij dwukrotnie element Site Manager.
Shi

3
Czy masz jakiś określony problem ze swoim zadaniem?
Martin Prikryl

4
Um, może potrafisz zaakceptować odpowiedź?
Greeso,

Odpowiedzi:


756

Stworzyłem do tego samouczek wideo. Po prostu sprawdź:

Połącz się z katalogiem plików Amazon EC2 za pomocą FileZilla i SFTP, Video Tutorial

Podsumowanie powyższego samouczka wideo:

  1. Edytuj (Preferencje)> Ustawienia> Połączenie> SFTP, kliknij „Dodaj plik klucza”
  2. Przejdź do lokalizacji pliku .pem i wybierz go.
  3. Pojawi się okno komunikatu z prośbą o pozwolenie na konwersję pliku do formatu ppk. Kliknij Tak, a następnie nadaj plikowi nazwę i zapisz go gdzieś.
  4. Jeśli nowy plik znajduje się na liście plików kluczy, przejdź do następnego kroku. Jeśli nie, kliknij „Dodaj plik klucza ...” i wybierz przekonwertowany plik.
  5. Plik> Menedżer witryny Dodaj nową witrynę z następującymi parametrami:

    Host : Twoja publiczna nazwa DNS Twojego wystąpienia EC2 lub publiczny adres IP serwera.

    Protokół : SFTP

    Typ logowania : normalny

    Użytkownik : Z dokumentacji : „W systemie Amazon Linux domyślną nazwą użytkownika jest użytkownik ec2 . W przypadku RHEL5 nazwa użytkownika to często użytkownik root, ale może to być użytkownik ec2. W systemie Ubuntu nazwa użytkownika to ubuntu . W przypadku systemu SUSE Linux nazwa użytkownika to root . W przypadku Debiana nazwa użytkownika to admin . W przeciwnym razie skontaktuj się z dostawcą AMI. ”

    Naciśnij przycisk Połącz - jeśli zapisywanie haseł zostało wyłączone, pojawi się monit o zmianę typu logowania na „Zapytaj o hasło”. Powiedz „OK”, a podczas łączenia naciśnij „OK” bez wprowadzania hasła, aby przejść obok okna dialogowego.

    Uwaga: FileZilla automatycznie określa, którego klucza użyć. Nie musisz określać klucza po zaimportowaniu zgodnie z powyższym opisem.

Jeśli korzystasz z Cyberduck, postępuj zgodnie z tym .

Sprawdź ten post, jeśli masz problemy z uprawnieniami.


4
Nie mogę uzyskać dostępu do linku Davida Jensen, jednak mogę się zalogować jako ubuntu (po wykonaniu instrukcji podobnych do tych, które napisałeś powyżej), ale nie jak każdy inny użytkownik, czy masz jakieś pomysły lub linki, które mogą wskazać mi prawo kierunek tutaj?
ak85

4
dla darmowych dystrybucji ubuntu nazwą użytkownika będzie ubuntu.
seria

7
Aby dodać do tego, o czym wspomniano powyżej, upewnij się, że usunąłeś domyślną wartość 21 w polu tekstowym portu (domyślnie dla sftp), ponieważ wydaje się, że działa z portem 22. Zaczęło działać dla mnie, kiedy usunąłem port.
rahul

1
Zapisał mnie tam @streak
Abram

1
@Yasitha Chinthaka Postępowałem zgodnie ze wszystkimi krokami, ale nie mogę się połączyć z moją instancją. Jest to duża instancja w systemie Windows Server 2012. Każda pomoc doceniona. Dodałem regułę ruchu przychodzącego dla SSH w mojej grupie bezpieczeństwa. Czy potrzebna jest jakaś inna konfiguracja lub zmiany od czasu, gdy ostatnio opublikowałeś tę odpowiedź?
user2363025

34

Jest to bardzo proste, jeśli używałeś swojego pem file(używam MacOS / Windows użytkownik może wykonać te same kroki).

  1. Wystarczy pobrać swoją FileZilla (używam MacOS - i pobrałem darmową wersję, to wystarczy)

  2. Otwórz Site Manager w FileZilla (⌘S) -> Nowa strona

wprowadź opis zdjęcia tutaj

  1. Wpisz nazwę hosta w polu Host .

Przykład: eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com

  • Wybierz Protokół jako SFTP - protokół przesyłania plików SSH

  • Wybierz Typ logowania jako plik klucza

  • Wpisz swoją nazwę użytkownika w polu Użytkownik : dla mnie to ubuntu ( znajdź swojego użytkownika ssh )

Uwaga:

System operacyjny a nazwa użytkownika

Amazon - użytkownik ec2

Centos - centos

Debian - administrator lub root

Fedora - użytkownik ec2

RHEL - użytkownik ec2 lub root

SUSE - użytkownik ec2 lub root

Ubuntu - Ubuntu lub root

  1. W polu Plik klucza przejrzyj plik pem: i kliknij Połącz

wprowadź opis zdjęcia tutaj

  1. To wszystko :) baw się dobrze!

Uwaga:

(Pamiętaj, aby zezwolić na połączenie SSH na twój adres IP z EC2) Jeśli nie, pojawi się komunikat o błędzie połączenia!

Uwaga: Zezwolenie adresowi IP na połączenie instancji aws za pośrednictwem SFTP

EC2 -> SecurityGroups -> SSH -> Reguły przychodzące -> Edytuj -> Dodaj regułę (SSH | TCP | 22 | Moje IP (automatycznie pobiera ip | nazwa reguły) -> Zapisz


czy filezilla szyfruje klucze aws na dysku lub przechowuje jako zwykły tekst?
red888

Uważam, że plik klucza jest już zaszyfrowany, dlatego po prostu przekazuje plik w niezmienionej postaci. nieszyfrowane. Ale jeśli używasz normalnego uwierzytelnienia przy użyciu nazwy użytkownika i hasła w Filezilli, szyfrują one hasło.
Elshan

To wspaniale, ale chciałem dodać notatkę: zamiast używać publicznej nazwy hosta, użyłem adresu IP IPv4 do wprowadzenia hosta. To wtedy zadziałało dla mnie.
Bennybear,

22

Jeśli ktoś wykona wszystkie kroki i nie odniesie sukcesu, upewnij się, że używasz właściwego użytkownika. Próbowałem użyć „ec2-user”, ale musiałem użyć „ubuntu”.


Nie miałem sukcesu na RedHat, a nazwa użytkownika to „ec2-user”.
NOTYFY

Dla użytkowników WordPress z najczęściej używaną instalacją WordPress Certified przez Bitnami jest on na serwerze Ubuntu, a zatem nazwa użytkownika ubuntu :)
Peter Højlund Andersen

20

Upewnij się, że używasz portu 22. Filezilla będzie domyślnie ustawiony na port 21 dla SFTP.


7

Tylko jedna drobna uwaga do dobrze wyjaśnionej zaakceptowanej odpowiedzi Yasitha Chinthaka:

Uwaga: FileZilla automatycznie określa, którego klucza użyć. Nie musisz określać klucza po zaimportowaniu zgodnie z powyższym opisem.

W moim przypadku miałem już 5 innych ppks z innych instancji, z których korzystałem w przeszłości (z ppk nowej instancji na dole tej listy). Dodałem nowy ppk mojej nowej instancji i nie pozwoli mi się z nim połączyć. Komunikat o błędzie: zbyt wiele prób / prób.

Po usunięciu nieużywanych plików ppks udało mi się wreszcie zalogować do instancji.

Więc nie, Filezilla nie jest taka mądra ;-)


1
To rozwiązało problem, który miałem. Dzięki za opublikowanie go!
mnutsch

4

Możesz użyć dowolnego klienta FTP. Używam winscp i działa dobrze. U wszystkich tych klientów; możesz określić bezpieczny klucz ssh.


4

FileZilla nie działa dla mnie, ciągle pojawia się ten błąd:

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

To, co zadziałało, było sftprozkazem.

Połącz się z wystąpieniem EC2 za pomocą

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

Pobieranie plików / katalogów

Aby pobrać path/to/source/file.txti path/to/source/dir:

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

Przesyłanie plików / katalogów

Aby przesłać localpath/to/source/file.txti ~/localpath/to/source/dirdo remotepath/to/dest:

lcd localpath/to/source
cd remotepath/to/dest
put file.txt
put -r dir

Filezilla ma również sftp
Elshan

Ten sam problem z filezilla 3.7. Narzędzie wiersza polecenia sftp również działało dla mnie.
Soheil Pourbafrani


0

W moim przypadku Filezilla wysyła plik ppk AWS do każdego innego serwera FTP, z którym próbuję się bezpiecznie połączyć.

To szalone. Istnieje obejście, jak napisano poniżej, ale jest brzydkie.

Nie zachowuje się dobrze, jak wskazał @Lucio M.

Z tej dyskusji: https://forum.filezilla-project.org/viewtopic.php?t=30605

n0lqu:

Zgoda. Biorąc jednak pod uwagę, że nie mogę kontrolować działania serwera, czy istnieje jakiś sposób na określenie w FileZilla, że ​​witryna powinna uwierzytelniać się za pomocą hasła, a nie klucza, lub odwrotnie? Lub powiedz mu, aby najpierw wypróbował hasło, a następnie klucz tylko, jeśli hasło się nie powiedzie? Wydaje mi się, że najpierw próbuje klucza, a potem nie ma szansy na spróbowanie hasła.

botg (administrator Filezilla) odpowiedział:

Nie ma takiej opcji.

n0lqu:

Czy można dodać taką opcję lub czy istnieją jakieś dobre obejścia, które każdy może polecić? W tej chwili jedynym obejściem, jakie znam, jest usunięcie klucza z ogólnych preferencji, dodanie go z powrotem tylko podczas łączenia się z konkretną witryną, która tego wymaga, a następnie usunięcie go ponownie po zakończeniu, aby nie zepsuło innych stron.

botg:

W tej chwili możesz mieć dwie instancje FileZilla z osobnymi katalogami konfiguracji (np. Jedną zainstalowaną i jedną przenośną).

timboskratch:

Właśnie miałem dzisiaj ten sam problem i udało mi się go rozwiązać, zmieniając „typ logowania” połączenia za pomocą hasła w menedżerze witryny. Zamiast „Normalnego” mogłem wybrać „Interaktywny” lub „Zapytaj o hasło” (nie do końca pewny, jaka jest różnica), a następnie, gdy spróbowałem ponownie połączyć się z witryną, wyświetliło się monit o podanie hasła, a następnie połączenie z powodzeniem. Nie jest to idealne rozwiązanie, ponieważ oznacza, że ​​musisz pamiętać i ponownie wpisywać hasło przy każdym połączeniu, ale lepiej niż instalować 2 instancje FileZilla. Całkowicie się zgadzam, że bardzo przydatne w Menedżerze witryny byłoby posiadanie pełnych opcji, w jaki sposób FileZilla ma łączyć się z każdą skonfigurowaną witryną (czy używać hasła, klucza itp.). Mam nadzieję, że to jest pomocne! Tim

Zobacz także: https://forum.filezilla-project.org/viewtopic.php?t=34676

Na to wygląda:

W przypadku wielu witryn FTP z kluczami / hasłami użyj wielu instalacji Filezilla, LUB użyj tego samego klucza ppk dla wszystkich serwerów.

Chciałbym, aby istniał sposób, aby powiedzieć FileZilla, który ppk jest przeznaczony dla której witryny w Site Mangerze



0

Filezilla to przede wszystkim klient / serwer FTP / SFTP. W tym celu będziemy musieli wykorzystać klienta.

1) Pobierz klienta z adresu URL: https://filezilla-project.org/

2) Przejdź do konsoli zarządzania AWS, a następnie EC2. Wybierz instancję, do której chcesz uzyskać dostęp, a następnie skopiuj adres DNS lub IP instancji, a następnie wklej ją w nazwie hosta Filezilla.

Obserwuj obraz: Dostęp do instancji Amazon za pośrednictwem FileZilla

3) Następnie wprowadź nazwę użytkownika dla utworzonego przez siebie wystąpienia, w przypadku Amazon-ami będzie to użytkownik ec2, aw przypadku innych systemów operacyjnych będzie inaczej. Następnie wprowadź hasło i port, który będzie wynosił 21 lub 22.

4) Następnie poprosi o klucz, który jest w formacie pem, wystarczy wybrać plik .pem, a następnie potwierdzi uwierzytelnienie. Kliknij Tak, a następnie Gotowe.

Uwaga: W grupie zabezpieczeń EC2 zezwól na numer portu 21 i 22, w zależności od tego, co jest wymagane do uzyskania dostępu przez FTP.


0

wszystko, co musisz zrobić, to: 1. otworzyć menedżera witryny w filezilla 2. dodać nową stronę 3. podać adres hosta i port, jeśli port nie jest domyślny port 4. typ komunikacji: SFTP 5. plik klucza typu sesji 6. wpisać nazwę użytkownika 7. wybierz katalog plików kluczy, ale uważaj na Eksplorator plików systemu Windows domyślnie szuka pliku ppk, wybierz wszystkie pliki z menu rozwijanego, a następnie wybierz plik pem i możesz zacząć.

ponieważ dodajesz nową witrynę i konfigurujesz następnym razem, gdy chcesz się połączyć, po prostu wybierz zapisaną witrynę i połącz się. To jest to.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.