So erstellen Sie einen SFTP-fähigen Server auf AWS

AWS Transfer Family unterstützt Secure File Transfer Protocol (SFTP), File Transfer Protocol over SSL (FTPS) und File Transfer Protocol (FTP) für die Übertragung von Dateien zu und von AWS S3 oder AWS EFS (Elastic File System).Es unterstützt DNS-Routing mit Amazon Route 53. Mit AWS Transfer Family entfällt der Aufwand für den Kauf und Betrieb eigener FTP-Server, stattdessen verwaltet es die Dateiinfrastruktur für Sie. Sie unterstützt die automatische Skalierung der Kapazität und sorgt für hohe Verfügbarkeit.

AWS Transfer Family ist ein vollständig von AWS verwalteter Service, der in Echtzeit skaliert, und Sie müssen keine

Lassen Sie uns 3 verschiedene Protokolle verstehen, die von AWS Transfer Family unterstützt werden.

  1. SFTP-Protokoll: Das Secure Shell File Transfer Protocol ist ein Netzwerkprotokoll, das für die sichere Übertragung von Daten über das Internet verwendet wird. Das Protokoll unterstützt die volle Sicherheits- und Authentifizierungsfunktionalität von SSH
  2. FTP-Protokoll: Das File Transfer Protocol (FTP) ist ein Netzwerkprotokoll, das für die Übertragung von Daten verwendet wird. FTP verwendet einen separaten Kanal für Steuer- und Datenübertragungen.
  3. FTPS-Protokoll: File Transfer Protocol over SSL ist eine Erweiterung von FTP. Es verwendet die kryptografischen Protokolle Transport Layer Security und Secure Sockets Layer, um den Datenverkehr zu verschlüsseln.

Sie können einen öffentlich zugänglichen Server erstellen oder einen Server in der VPC erstellen.

Sie können auch den Zugriff auf den Server mit AWS Identity and Access Management (IAM)-Richtlinien steuern. Diese Richtlinien können einer IAM-Rolle zugewiesen werden, die dann dem Benutzer zugeordnet wird.

Es fallen keine Vorabkosten an und Sie müssen nur für die Nutzung und die Protokolle zahlen, die Sie für den Zugriff auf Ihren Endpunkt aktiviert haben. Um mehr über die Preise zu erfahren, besuchen Sie die offizielle Seite von AWS hier.

In diesem Artikel sehen wir uns die Schritte zur Erstellung eines SFTP-fähigen Servers auf AWS an, der öffentlich zugänglich sein wird. Bevor Sie mit diesem Artikel fortfahren, wird vorausgesetzt, dass Sie mit IAM-Rollen, EC2-Instanzen und S3-Buckets vertraut sind.

Vorraussetzungen

  1. AWS-Konto(Erstellen Sie es, wenn Sie noch keines haben).
  2. Ubuntu EC2-Instanz (Klicken Sie hier, um zu erfahren, wie Sie eine Ubuntu EC2-Instanz auf AWS erstellen).
  3. IAM-Rolle mit Vollzugriff auf S3 (Klicken Sie hier, um zu erfahren, wie Sie eine IAM-Rolle erstellen).
  4. S3-Bucket (Klicken Sie hier, um zu erfahren, wie Sie einen S3-Bucket auf AWS erstellen).

Was müssen wir tun?

  1. Anmeldung bei AWS
  2. Erstellen Sie einen SFTP-Server
  3. Ändern Sie die Vertrauensbeziehungen der IAM-Richtlinie
  4. Erstellen Sie einen Ordner im S3-Bucket.
  5. Erzeugen Sie ein Key-Paar in der EC2-Instanz.
  6. Erstellen Sie einen Benutzer im SFTP-Server
  7. Testen Sie die Verbindung zum SFTP Server
  8. Löschen Sie den SFTP-Server

Anmeldung bei AWS

Klicken Sie hier, um zur Anmeldeseite zu gelangen, auf der Sie Ihre Anmeldedaten eingeben können, um sich in das Konto einzuloggen.

Login-Seite

Sobald Sie sich erfolgreich in Ihr Konto eingeloggt haben, sehen Sie die Hauptverwaltungskonsole von AWS wie folgt und können die gewünschte Region auswählen, um einen SFTP-Server zu erstellen.

AWS Management-Konsole

Erstellen eines SFTP-Servers

Suchen Sie im Suchfeld am oberen Rand des Bildschirms nach „Transfer Family“.

Search Transfer Family

Sie sehen dann das Haupt-Dashboard der AWS Transfer Family wie folgt. Klicken Sie auf die Schaltfläche „Server erstellen“, um Ihren ersten SFTP-Server zu erstellen.

AWS Transfer Family Dashboard

Wählen Sie hier das Protokoll aus, das Sie für den Server aktivieren möchten. Sie können mehrere Protokolle aktivieren, aber wir werden hier mit einem einzigen SFTP-Protokoll fortfahren. Klicken Sie auf die Schaltfläche „Next“, um fortzufahren.

Wählen Sie ein Protokoll

Wählen Sie den Endpunkttyp entsprechend Ihren Anforderungen. Wenn Ihr Endpunkt öffentlich zugänglich sein soll, fahren Sie damit fort. Klicken Sie auf die Schaltfläche „Next“.

Endpunkt-Konfiguration

Wählen Sie den AWS-Speicherservice, in dem Ihre Daten gespeichert werden sollen. Hier werden wir mit Amazon S3 fortfahren. Klicken Sie auf die Schaltfläche „Next“, um fortzufahren.

Wählen Sie eine Domain

Fahren Sie hier mit den Standardoptionen fort.

Logging-Rolle

Überprüfen Sie die Konfiguration und klicken Sie auf die Schaltfläche „Server erstellen“. Dadurch wird ein SFTP-Server für Sie erstellt, der Erstellungsprozess wird einige Minuten dauern.

Überprüfen und Erstellen eines Servers

Ändern Sie die Vertrauensbeziehungen der IAM-Richtlinie

Der nächste Schritt besteht darin, die IAM-Richtlinie zu ändern, die vollen Zugriff auf die S3-Buckets hat. Gehen Sie zu „IAM role — > Trust relationships“ und bearbeiten Sie diese.

IAM-Rolle für SFTP

Ändern Sie den Service auf „transfer.amazonaws.com“, das Richtliniendokument sollte wie folgt aussehen.

Vertrauensverhältnis bearbeiten

Erstellen Sie einen Ordner im S3-Bucket.

Sehen Sie sich an, ob Sie einen S3-Bucket haben, in dem Sie Daten vom SFTP-Server speichern möchten.

Erstellen eines Ordners im S3-Bucket

Erzeugen Sie ein Key-Paar in der EC2-Instanz.

Der nächste Schritt besteht darin, ein Schlüsselpaar zu erzeugen, das für die Authentifizierung am SFTP-Server verwendet wird. Gehen Sie zu Ihrem Linux-Server und führen Sie den folgenden Befehl aus, um ein Schlüsselpaar zu erzeugen

ssh-keygen

cat ~/.ssh/id_rsa.pub

Holen Sie sich den öffentlichen Schlüssel, der im nächsten Schritt benötigt wird.

Erzeugen eines Schlüsselpaares

Anlegen eines Benutzers auf dem SFTP-Server

Gehen wir zu dem SFTP, den wir angelegt haben.

SFTP-Server

Klicken Sie auf die Schaltfläche „Benutzer hinzufügen“, um einen Benutzer anzulegen, der für die Authentifizierung und die Übertragung von Dateien auf S3 über den von uns erstellten SFTP-Server verwendet wird.

Der Endpunkt, den Sie hier sehen, wird für den Zugriff auf den SFTP-Server zur Datenübertragung verwendet. Behalten Sie diesen Endpunkt bei sich, der beim Zugriff auf den SFTP-Server benötigt wird.

Fügen Sie einen Benutzernamen hinzu, wählen Sie die IAM-Rolle, wählen Sie den S3-Bucket und einen Ordner darin, der als Home-Verzeichnis für den von uns angelegten Benutzer dienen wird. Fügen Sie den öffentlichen Schlüssel, den wir im vorherigen Schritt kopiert haben, im Teil „Öffentlicher SSH-Schlüssel“ hinzu.

Scrollen Sie auf der Seite nach unten und klicken Sie auf die Schaltfläche „Hinzufügen“. Dadurch wird ein Benutzer angelegt, der einen privaten Schlüssel benötigt, der mit dem öffentlichen Schlüssel verknüpft ist, den wir beim Anlegen des Benutzers hinzugefügt haben.

Hinzufügen des Benutzers

Testen Sie die Verbindung zum SFTP-ServerTesten Sie die Verbindung zum SFTP-Server

Gehen Sie zu dem Linux-Server, auf dem Sie das Schlüsselpaar erstellt haben, und verwenden Sie den folgenden Befehl, um sich mit dem SFTP-Server zu verbinden.

Hier müssen Sie den Endpunkt mit dem ändern, den Sie für Ihren SFTP-Server haben.

sftp -i ~/.ssh/id_rsa rahul-sftp-user@s-922b406852024d85a.server.transfer.eu-west-3.amazonaws.com

Sie können versuchen, Dateien mit dem folgenden Befehl hochzuladen, wobei die im folgenden Befehl verwendete Datei zum lokalen System gehört.

put /home/ubuntu/test-file

Mit dem obigen Befehl wird die Datei „/home/ubuntu/test-file“ vom lokalen System auf den SFTP-Server kopiert.

Hochladen einer Datei

Sie können über die Konsole überprüfen, ob die Datei mit dem obigen „put“-Befehl in den S3-Bucket hochgeladen wurde oder nicht.

Prüfen Sie den S3-Eimer

Löschen des SFTP-Servers

Wenn Sie Ihren SFTP-Server nicht mehr benötigen, können Sie ihn einfach löschen. Um den Server zu löschen, klicken Sie auf „Aktionen –> Löschen“.

Löschen des SFTP-Servers

Bestätigen Sie Ihre Löschaktion und klicken Sie auf die Schaltfläche „Löschen“. Sobald Sie den SFTP-Server gelöscht haben, können Sie ihn nicht mehr wiederherstellen, seien Sie also vorsichtig bei der Durchführung des Löschvorgangs.

Bestätigung der Löschung

Fazit

In diesem Artikel haben wir die Schritte zur Erstellung eines SFTP-Servers mit S3 als Backend gesehen. Wir haben einen Benutzer angelegt und ihm einen bestimmten S3-Bucket –> Ordner als Home-Verzeichnis zugewiesen. Wir haben gesehen, welche Änderungen erforderlich sind, damit die IAM-Rolle für den Benutzer verwendet werden kann.

Das könnte dich auch interessieren …