Stellen Sie mit Filezilla und SFTP eine Verbindung zum Amazon EC2-Dateiverzeichnis her

325

Ich habe eine AWS EC2-Instanz erstellt und möchte Dateien mit FileZilla auf einfachste und unkomplizierteste Weise in das Serververzeichnis hochladen können.

Eric Brotto
quelle
4
Was ist die Frage? Wenn Sie über SSH / SFTP-Anmeldeinformationen verfügen, verwenden Sie einfach FileZilla und stellen Sie eine Verbindung zur Site her. Öffnen Sie den Site Manager, fügen Sie Ihre Site hinzu (wählen Sie SFTP als Protokoll) und speichern Sie sie. Lassen Sie den Site Manager jedes Mal öffnen, wenn Sie FileZilla öffnen. Sie müssen also nur auf das Site Manager-Element doppelklicken.
Shi
3
Haben Sie ein bestimmtes Problem mit Ihrer Aufgabe?
Martin Prikryl
4
Ähm, vielleicht kannst du eine Antwort akzeptieren?
Greeso

Antworten:

755

Ich habe dafür ein Video-Tutorial erstellt. Überprüfen Sie einfach:

Stellen Sie mit FileZilla und SFTP, Video Tutorial, eine Verbindung zum Amazon EC2-Dateiverzeichnis her

Zusammenfassung des obigen Video-Tutorials:

  1. Bearbeiten (Einstellungen)> Einstellungen> Verbindung> SFTP, klicken Sie auf "Schlüsseldatei hinzufügen".
  2. Navigieren Sie zum Speicherort Ihrer PEM-Datei und wählen Sie sie aus.
  3. In einem Meldungsfeld werden Sie aufgefordert, die Datei in das ppk-Format zu konvertieren. Klicken Sie auf Ja, geben Sie der Datei einen Namen und speichern Sie sie irgendwo.
  4. Wenn die neue Datei in der Liste der Schlüsseldateien angezeigt wird, fahren Sie mit dem nächsten Schritt fort. Wenn nicht, klicken Sie auf "Schlüsseldatei hinzufügen ..." und wählen Sie die konvertierte Datei aus.
  5. Datei> Site Manager Fügen Sie eine neue Site mit den folgenden Parametern hinzu:

    Host : Ihr öffentlicher DNS-Name Ihrer EC2-Instanz oder die öffentliche IP-Adresse des Servers.

    Protokoll : SFTP

    Anmeldetyp : Normal

    Benutzer : Aus den Dokumenten : "Für Amazon Linux lautet der Standardbenutzername ec2-user . Für RHEL5 lautet der Benutzername häufig root, möglicherweise jedoch ec2-user. Für Ubuntu lautet der Benutzername ubuntu . Für SUSE Linux lautet der Benutzername ist root . Für Debian lautet der Benutzername admin . Andernfalls wenden Sie sich an Ihren AMI-Anbieter. "

    Drücken Sie die Verbindungstaste - Wenn das Speichern von Passwörtern deaktiviert wurde, werden Sie aufgefordert, den Anmeldetyp in "Nach Passwort fragen" zu ändern. Sagen Sie 'OK' und drücken Sie beim Herstellen der Verbindung an der Passwortabfrage 'OK', ohne ein Passwort einzugeben, um über den Dialog hinauszugehen.

    Hinweis: FileZilla ermittelt automatisch, welcher Schlüssel verwendet werden soll. Sie müssen den Schlüssel nach dem Import nicht wie oben beschrieben angeben.

Wenn Sie Cyberduck verwenden, folgen Sie diesen Anweisungen .

Überprüfen Sie diesen Beitrag, wenn Sie Berechtigungsprobleme haben.

Yasitha Chinthaka
quelle
4
Ich kann nicht auf den David Jensen Link zugreifen, kann mich jedoch als Ubuntu anmelden (nachdem ich Anweisungen befolgt habe, die den oben beschriebenen ähnlich sind), aber nicht wie jeder andere Benutzer, haben Sie Ideen oder Links, die mich auf das Recht hinweisen könnten Richtung hier?
Ak85
4
Für kostenlose Ubuntu-Distributionen wird der Benutzername Ubuntu sein.
Streifen
7
Stellen Sie sicher, dass Sie den Standardwert 21 im Port-Textfeld (Standard für SFTP) löschen, da er mit Port 22 zu funktionieren scheint. Er funktionierte für mich, als ich den Port löschte.
Rahul
1
Hat mich dort gerettet @streak
Abram
1
@ Yasitha Chinthaka Ich habe alle Schritte befolgt, kann aber keine Verbindung zu meiner Instanz herstellen. Es ist eine große Instanz auf Windows Server 2012. Jede Hilfe wird geschätzt. Ich habe die Eingangsregel für SSH zu meiner Sicherheitsgruppe hinzugefügt. Sind andere Konfigurationen oder Änderungen erforderlich, seit Sie diese Antwort zuletzt veröffentlicht haben?
user2363025
33

Dies ist sehr einfach, wenn Sie Ihre verwendet haben pem file(ich verwende MacOS / Windows Benutzer können die gleichen Schritte ausführen.)

  1. Laden Sie einfach Ihre FileZilla herunter (ich verwende MacOS - und die kostenlose Version heruntergeladen, das ist gut genug)

  2. Öffnen Sie den Site Manager in FileZilla (⌘S) -> Neue Site

Geben Sie hier die Bildbeschreibung ein

  1. Geben Sie Ihren Hostnamen in das Feld Host ein.

Beispiel: eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com

  • Wählen Sie Protokoll als SFTP - SSH File Transfer Protocol

  • Wählen Sie den Anmeldetyp als Schlüsseldatei

  • Geben Sie Ihren Benutzernamen in das Feld Benutzer ein: Für mich ist es Ubuntu ( finden Sie Ihren SSH-Benutzer )

Hinweis:

Betriebssystem vs Benutzername

Amazon - ec2-Benutzer

Centos - Centos

Debian - admin oder root

Fedora - ec2-Benutzer

RHEL - ec2-Benutzer oder root

SUSE - ec2-Benutzer oder root

Ubuntu - Ubuntu oder root

  1. Durchsuchen Sie im Feld Schlüsseldatei Ihre PEM-Datei: und klicken Sie auf Verbinden

Geben Sie hier die Bildbeschreibung ein

  1. Das ist alles :) Viel Spaß!

Hinweis:

(Denken Sie daran, die SSH-Verbindung von EC2 zu Ihrer IP-Adresse zuzulassen.) Wenn nicht, wird eine Verbindungsfehlermeldung angezeigt!

Hinweis: Ermöglichen Sie Ihrer IP, Ihre aws-Instanz über SFTP zu verbinden

EC2 -> Sicherheitsgruppen -> SSH -> Eingehende Regeln -> Bearbeiten -> Regel hinzufügen (SSH | TCP | 22 | Meine IP (IP wird automatisch abgerufen | Name für Regel) -> Speichern

Elshan
quelle
verschlüsselt filezilla die aws-Schlüssel auf der Festplatte oder speichert sie im Klartext?
Red888
Ich gehe davon aus, dass die Schlüsseldatei bereits verschlüsselt ist, daher wird die Datei einfach so übergeben, wie sie ist. nicht verschlüsselt. Wenn Sie jedoch die normale Authentifizierung mit Benutzername und Kennwort bei Filezilla verwenden, wird das Kennwort verschlüsselt.
Elshan
Das ist großartig, wollte aber einen Hinweis hinzufügen: Anstatt den öffentlichen Hostnamen zu verwenden, habe ich die IPv4-IP-Adresse für die Host-Eingabe verwendet. Dann hat es bei mir funktioniert.
Bennybear
21

Wenn jemand alle Schritte befolgt und keinen Erfolg hat, stellen Sie sicher, dass Sie den richtigen Benutzer verwenden. Ich habe versucht, "ec2-user" zu verwenden, aber ich musste "ubuntu" verwenden.

Jerad
quelle
Ich hatte keinen Erfolg mit RedHat und der Benutzername ist "ec2-user".
NOTiFY
Für WordPress-Benutzer mit der am häufigsten verwendeten WordPress-zertifizierten Bitnami-Installation befindet es sich auf einem Ubuntu-Server und daher unter dem Benutzernamen Ubuntu :)
Peter Højlund Andersen
20

Stellen Sie sicher, dass Sie Port 22 verwenden. Filezilla verwendet standardmäßig Port 21 für SFTP.

TJ Tang
quelle
7

Nur eine kleine Anmerkung zu der gut erklärten akzeptierten Antwort von Yasitha Chinthaka:

Hinweis: FileZilla ermittelt automatisch, welcher Schlüssel verwendet werden soll. Sie müssen den Schlüssel nach dem Import nicht wie oben beschrieben angeben.

In meinem Fall hatte ich bereits andere 5 ppks von anderen Instanzen, die ich in der Vergangenheit verwendet habe (wobei der ppk der neuen Instanz am Ende dieser Liste steht). Ich habe das neue ppk meiner neuen Instanz hinzugefügt und konnte mich nicht damit verbinden. Die Fehlermeldung: zu viele Versuche / Versuche.

Nachdem ich die nicht verwendeten ppks gelöscht hatte, konnte ich mich endlich bei der Instanz anmelden.

Also nein, Filezilla ist nicht so schlau ;-)

Lucio Mollinedo
quelle
1
Dies löste ein Problem, das ich hatte. Danke, dass du es gepostet hast!
Mnutsch
4

Sie können einen beliebigen FTP-Client verwenden. Ich benutze Winscp und es funktioniert gut. In all diesen Kunden; Sie können den sicheren SSH-Schlüssel angeben.

Deepak Singhal
quelle
4

FileZilla hat bei mir nicht funktioniert, ich habe immer wieder den folgenden Fehler erhalten:

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

Was funktionierte, war der sftpBefehl.

Verbinden Sie sich mit der EC2-Instanz mit

sftp -i "path/to/key.pem" [email protected]

Herunterladen von Dateien / Verzeichnissen

Zum Herunterladen path/to/source/file.txtund path/to/source/dir:

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

Dateien / Verzeichnisse hochladen

Zum Hochladen localpath/to/source/file.txtund ~/localpath/to/source/dirzu remotepath/to/dest:

lcd localpath/to/source
cd remotepath/to/dest
put file.txt
put -r dir
Kilian Batzner
quelle
Filezilla hat auch SFTP
Elshan
Gleiches Problem mit filezilla 3.7. Das SFTP-Befehlszeilentool funktionierte auch für mich.
Soheil Pourbafrani
0

In meinem Fall sendet Filezilla die AWS ppk-Datei an jeden anderen FTP-Server, zu dem ich eine sichere Verbindung herstellen möchte.

Das ist verrückt. Es gibt eine Problemumgehung wie unten beschrieben, aber sie ist hässlich.

Es verhält sich nicht gut, wie @Lucio M hervorhob.

Aus dieser Diskussion: https://forum.filezilla-project.org/viewtopic.php?t=30605

n0lqu:

Einverstanden. Gibt es eine Möglichkeit, in FileZilla anzugeben, dass sich eine Site mit einem Kennwort anstelle eines Schlüssels authentifizieren soll, oder umgekehrt, da ich den Betrieb des Servers nicht steuern kann? Oder sagen Sie ihm, er soll zuerst das Passwort versuchen und dann nur dann den Schlüssel eingeben, wenn das Passwort fehlschlägt? Mir scheint, es versucht zuerst den Schlüssel und bekommt dann keine Chance, das Passwort zu versuchen.

botg (Filezilla admin) antwortete:

Es gibt keine solche Option.

n0lqu:

Könnte eine solche Option hinzugefügt werden, oder gibt es gute Problemumgehungen, die jeder empfehlen kann? Derzeit besteht die einzige mir bekannte Problemumgehung darin, den Schlüssel aus den allgemeinen Einstellungen zu löschen, ihn erst wieder hinzuzufügen, wenn eine Verbindung zu der bestimmten Site hergestellt wird, für die er erforderlich ist, und ihn dann erneut zu löschen, damit andere Sites nicht durcheinander gebracht werden.

botg:

Im Moment könnten Sie zwei FileZilla-Instanzen mit separaten Konfigurationsverzeichnissen haben (z. B. eine installierte und eine tragbare).

timboskratch:

Ich hatte heute das gleiche Problem und konnte es beheben, indem ich den "Anmeldetyp" der Verbindung mithilfe eines Kennworts im Site-Manager änderte. Anstelle von "Normal" konnte ich entweder "Interaktiv" oder "Nach Passwort fragen" auswählen (nicht wirklich sicher, was der Unterschied ist). Als ich dann versuchte, erneut eine Verbindung zur Site herzustellen, wurde ich aufgefordert, mein Passwort einzugeben und dann eine Verbindung herzustellen erfolgreich. Dies ist nicht ideal, da Sie sich jedes Mal, wenn Sie eine Verbindung herstellen, Ihr Kennwort merken und erneut eingeben müssen, aber besser, als zwei Instanzen von FileZilla installieren zu müssen. Ich stimme voll und ganz zu, dass es im Site Manager sehr nützlich wäre, alle Optionen zu haben, wie FileZilla eine Verbindung zu jeder eingerichteten Site herstellen soll (ob ein Kennwort, ein Schlüssel usw. verwendet werden soll). Ich hoffe, dies ist hilfreich! Tim

Siehe auch: https://forum.filezilla-project.org/viewtopic.php?t=34676

So scheint es:

Verwenden Sie für mehrere FTP-Sites mit Schlüsseln / Kennwörtern mehrere Filezilla-Installationen, ODER verwenden Sie für alle Server denselben ppk-Schlüssel.

Ich wünschte, es gäbe eine Möglichkeit, FileZilla mitzuteilen, welches ppk für welche Site in Site Manager ist

site80443
quelle
0

Am einfachsten und unkompliziertesten ist es, ein FTP-Login zu erstellen. Hier ist eine kleine und leicht verständliche Tutorial-Site zum Stackoverflow selbst, wie man die Dinge in 2 Minuten einrichtet ... Einrichten von FTP auf Amazon Cloud Server

guido _nhcol.com.br_
quelle
1
Ich habe beim Stackoverflow eine URL verlinkt. Ich halte das nicht für einen externen Link, oder?
guido _nhcol.com.br_
0

Zunächst ist Filezilla ein FTP / SFTP-Client / Server. Wir müssen den Client für diesen Zweck verwenden.

1) Laden Sie den Client von der URL herunter: https://filezilla-project.org/

2) Wechseln Sie zur AWS-Verwaltungskonsole und dann zu EC2. Wählen Sie die Instanz aus, auf die Sie zugreifen möchten, kopieren Sie die DNS- oder IP-Adresse der Instanz und fügen Sie sie in den Filezilla-Hostnamen ein.

Folgen Sie dem Bild: Amazon Instance Access über FileZilla

3) Geben Sie dann den Benutzernamen für die von Ihnen erstellte Instanz ein. Für Amazon-ami ist es ec2-user und für andere Betriebssysteme anders. Geben Sie dann das Passwort und den Port ein, die 21 oder 22 sein werden.

4) Anschließend werden Sie nach dem Schlüssel im PEM-Format gefragt. Wählen Sie einfach die PEM-Datei aus und bestätigen Sie die Authentifizierung. Klicken Sie auf Ja und dann sind Sie fertig.

Hinweis: Lassen Sie in Ihrer EC2-Sicherheitsgruppe die Portnummern 21 und 22 zu, je nachdem, was für den FTP-Zugriff erforderlich ist.

Patrick R.
quelle
0

Alles, was Sie tun müssen, ist: 1. Öffnen Sie den Site Manager in FileZilla. 2. Fügen Sie eine neue Site hinzu. 3. Geben Sie die Hostadresse und den Port an, wenn der Port nicht der Standardport ist. 4. Kommunikationstyp: SFTP. 5. Schlüsseltatei für den Sitzungstyp. Wählen Sie das Schlüsseldateiverzeichnis, aber achten Sie darauf, dass der Windows-Datei-Explorer standardmäßig nach ppk-Dateien sucht. Wählen Sie alle Dateien in der Dropdown-Liste aus und wählen Sie dann Ihre PEM-Datei aus.

Da Sie beim nächsten Herstellen einer neuen Site eine neue Site hinzufügen und konfigurieren, wählen Sie einfach Ihre gespeicherte Site aus und stellen Sie eine Verbindung her. Das ist es.

Ebuzer Taha KANAT
quelle
-5

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

  1. Zuerst müssen Sie einen FTP-Server wie vsftpd auf Ihrem ec2-Computer installieren.
  2. Konfigurieren Sie die vsftpd-Konfigurationsdatei so, dass Schreibvorgänge und offene Ports möglich sind.
  3. Erstellen Sie einen Benutzer für den FTP-Client.
  4. Verbinden Sie sich mit einem FTP-Client wie Filezilla.

Stellen Sie sicher, dass Sie Port 21 in der aws-Sicherheitsgruppe öffnen.

Rohit Sharma
quelle