Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwaltung von SSH- und PGP-Schlüsseln in Transfer Family
In diesem Abschnitt finden Sie Informationen zu SSH-Schlüsseln, einschließlich deren Generierung und Rotation. Einzelheiten zur Verwendung von Transfer Family with AWS Lambda zur Schlüsselverwaltung finden Sie im Blogbeitrag Aktivieren der Self-Service-Schlüsselverwaltung für Benutzer mit A AWS Transfer Family und AWS Lambda
Anmerkung
AWS Transfer Family akzeptiert RSA-, ECDSA- und ED25519-Schlüssel.
In diesem Abschnitt wird auch beschrieben, wie Sie Pretty Good Privacy (PGP) -Schlüssel generieren und verwalten.
Themen
Unterstützte Algorithmen für Benutzer- und Serverschlüssel
Die folgenden Schlüsselalgorithmen werden für Benutzer- und Serverschlüsselpaare innerhalb unterstützt. AWS Transfer Family
Anmerkung
Informationen zu Algorithmen, die zusammen mit der PGP-Entschlüsselung in Workflows verwendet werden können, finden Sie unter Unterstützte Algorithmen für PGP-Schlüsselpaare.
-
Für ED25519:
ssh-ed25519
-
Für RSA:
-
rsa-sha2-256
-
rsa-sha2-512
-
-
Für ECDSA:
-
ecdsa-sha2-nistp256
-
ecdsa-sha2-nistp384
-
ecdsa-sha2-nistp521
-
Anmerkung
Wir unterstützen unsere älteren Sicherheitsrichtlinien ssh-rsa
mit SHA1. Details hierzu finden Sie unter Kryptografische Algorithmen.
Generieren Sie SSH-Schlüssel für vom Service verwaltete Benutzer
Sie können Ihren Server so einrichten, dass Benutzer mithilfe der vom Service verwalteten Authentifizierungsmethode authentifiziert werden, bei der Benutzernamen und SSH-Schlüssel innerhalb des Dienstes gespeichert werden. Der öffentliche SSH-Schlüssel des Benutzers wird als Eigentum des Benutzers auf den Server hochgeladen. Dieser Schlüssel wird vom Server als Teil eines standardmäßigen schlüsselbasierten Authentifizierungsprozesses verwendet. Jeder Benutzer kann mehrere öffentliche SSH-Schlüssel bei einem einzelnen Server registrieren. Informationen zur Begrenzung der Anzahl der Schlüssel, die pro Benutzer gespeichert werden können, finden Sie unter AWS Transfer Family Endpunkte und Kontingente in der. Allgemeine Amazon Web Services-Referenz
Als Alternative zur vom Dienst verwalteten Authentifizierungsmethode können Sie Benutzer mithilfe eines benutzerdefinierten Identitätsanbieters authentifizieren, oder. AWS Directory Service for Microsoft Active Directory Weitere Informationen finden Sie unter Mit Anbietern benutzerdefinierter Identitäten arbeiten oder Verwenden des AWS Directory Service für Microsoft Active Directory.
Ein Server kann Benutzer nur mit einer Methode authentifizieren (vom Dienst verwaltet, Verzeichnisdienst oder benutzerdefinierter Identitätsanbieter), und diese Methode kann nicht geändert werden, nachdem der Server erstellt wurde.
Themen
SSH-Schlüssel auf macOS, Linux oder Unix erstellen
Auf den Betriebssystemen macOS, Linux oder Unix verwenden Sie den ssh-keygen
Befehl, um einen öffentlichen SSH-Schlüssel und einen privaten SSH-Schlüssel zu erstellen, die auch als key pair bezeichnet werden.
Um SSH-Schlüssel auf einem macOS-, Linux- oder Unix-Betriebssystem zu erstellen
-
Öffnen Sie auf macOS-, Linux- oder Unix-Betriebssystemen ein Befehlsterminal.
-
AWS Transfer Family akzeptiert Schlüssel im RSA-, ECDSA- und ED25519-Format. Wählen Sie je nach Art des Schlüsselpaars, das Sie generieren, den entsprechenden Befehl aus.
Anmerkung
In den folgenden Beispielen geben wir keine Passphrase an: In diesem Fall fordert das Tool Sie auf, Ihre Passphrase einzugeben und sie dann zur Überprüfung zu wiederholen. Die Erstellung einer Passphrase bietet einen besseren Schutz für Ihren privaten Schlüssel und kann auch die allgemeine Systemsicherheit verbessern. Sie können Ihre Passphrase nicht wiederherstellen: Wenn Sie sie vergessen, müssen Sie einen neuen Schlüssel erstellen.
Wenn Sie jedoch einen Server-Hostschlüssel generieren, müssen Sie eine leere Passphrase angeben, indem Sie die
-N ""
Option im Befehl angeben (oder indem SieEnter
zweimal drücken, wenn Sie dazu aufgefordert werden), da Transfer Family Family-Server beim Start kein Passwort anfordern können.-
Um ein RSA 4096-Bit-Schlüsselpaar zu generieren:
ssh-keygen -t rsa -b 4096 -f
key_name
-
Um ein 521-Bit-ECDSA-Schlüsselpaar zu generieren (ECDSA hat Bitgrößen von 256, 384 und 521):
ssh-keygen -t ecdsa -b 521 -f
key_name
-
Um ein ED25519-Schlüsselpaar zu generieren:
ssh-keygen -t ed25519 -f
key_name
Anmerkung
ist der Dateiname des SSH-Schlüsselpaars.key_name
Das Folgende zeigt ein Beispiel für die
ssh-keygen
Ausgabe.ssh-keygen -t rsa -b 4096 -f key_name Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in key_name. Your public key has been saved in key_name.pub. The key fingerprint is: SHA256:8tDDwPmanTFcEzjTwPGETVWOGW1nVz+gtCCE8hL7PrQ bob.amazon.com The key's randomart image is: +---[RSA 4096]----+ | . ....E | | . = ... | |. . . = ..o | | . o + oo = | | + = .S.= * | | . o o ..B + o | | .o.+.* . | | =o*+*. | | ..*o*+. | +----[SHA256]-----+
Anmerkung
Wenn Sie den Befehl
ssh-keygen
ausführen (siehe oben), erstellt er die öffentlichen und privaten Schlüssel als Dateien im aktuellen Verzeichnis.Ihr SSH-Schlüsselpaar ist jetzt einsatzbereit. Folgen Sie den Schritten 3 und 4, um den öffentlichen SSH-Schlüssel für Ihre vom Service verwalteten Benutzer zu speichern. Diese Benutzer verwenden die Schlüssel, wenn sie Dateien auf Transfer Family Family-Serverendpunkten übertragen.
-
-
Navigieren Sie zu der
Datei und öffnen Sie sie.key_name
.pub -
Kopieren Sie den Text und fügen Sie ihn in den öffentlichen SSH-Schlüssel für den vom Service verwalteten Benutzer ein.
-
Öffnen Sie die AWS Transfer Family Konsole unter https://console.aws.amazon.com/transfer/
und wählen Sie dann im Navigationsbereich Server aus. -
Wählen Sie auf der Seite Server die Server-ID für den Server aus, der den Benutzer enthält, den Sie aktualisieren möchten.
-
Wählen Sie den Benutzer aus, für den Sie einen öffentlichen Schlüssel hinzufügen möchten.
-
Wählen Sie im Bereich Öffentliche SSH-Schlüssel die Option Öffentlichen SSH-Schlüssel hinzufügen aus.
-
Fügen Sie den Text des öffentlichen Schlüssels, den Sie generiert haben, in das Textfeld für den öffentlichen SSH-Schlüssel ein und wählen Sie dann Schlüssel hinzufügen aus.
Der neue Schlüssel ist im Bereich mit öffentlichen SSH-Schlüsseln aufgeführt.
-
SSH-Schlüssel unter Microsoft Windows erstellen
Windows verwendet ein etwas anderes SSH-Schlüsselpaarformat. Der öffentliche Schlüssel muss im PUB
-Format und der private Schlüssel im PPK
-Format vorliegen. Unter Windows können Sie PuTTYgen verwenden, um ein SSH-Schlüsselpaar in den entsprechenden Formaten zu erstellen. Sie können PuTTYgen auch verwenden, um einen mit ssh-keygen
erstellten privaten Schlüssel in eine .ppk
-Datei zu konvertieren.
Anmerkung
Wenn Sie WinSCP eine private Schlüsseldatei präsentieren, die nicht im .ppk
Format ist, bietet dieser Client an, den Schlüssel für Sie in ein .ppk
Format zu konvertieren.
Konvertiert einen öffentlichen SSH2-Schlüssel in das PEM-Format
AWS Transfer Family akzeptiert nur öffentliche Schlüssel im PEM-Format. Wenn Sie einen öffentlichen SSH2-Schlüssel haben, müssen Sie ihn konvertieren. Ein öffentlicher SSH2-Schlüssel hat das folgende Format:
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20160402" AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URI : : ---- END SSH2 PUBLIC KEY ----
Ein öffentlicher PEM-Schlüssel hat das folgende Format:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA...
Führen Sie den folgenden Befehl aus, um einen öffentlichen Schlüssel im SSH2-Format in einen öffentlichen Schlüssel im PEM-Format zu konvertieren. Ersetzen Sie
ssh2-key durch den Namen Ihres SSH2-Schlüssels
und PEM-Key durch den Namen Ihres PEM-Schlüssels.
ssh-keygen -i -f
ssh2-key
.pub >PEM-key
.pub
Drehen Sie die SSH-Schlüssel
Aus Sicherheitsgründen empfehlen wir die bewährte Methode, Ihre SSH-Schlüssel zu rotieren. In der Regel wird diese Rotation als Teil einer Sicherheitsrichtlinie festgelegt und automatisiert implementiert. Je nach Sicherheitsstufe kann ein SSH-Schlüsselpaar für eine hochsensible Kommunikation nur einmal verwendet werden. Dadurch werden Risiken vermieden, die aus dem Speichern von Schlüsseln erwachsen. Es ist jedoch viel üblicher, SSH-Anmeldeinformationen für einen bestimmten Zeitraum zu speichern und ein Intervall festzulegen, das die Benutzer nicht übermäßig belastet. Dieser Zeitraum hat typischerweise eine Länge von drei Monaten.
Es gibt zwei Methoden zum Durchführen der SSH-Schlüsselrotation:
-
Auf der Konsole können Sie einen neuen öffentlichen SSH-Schlüssel hochladen und einen vorhandenen öffentlichen SSH-Schlüssel löschen.
-
Mithilfe der API können Sie bestehende Benutzer aktualisieren, indem Sie die DeleteSshPublicKeyAPI verwenden, um den öffentlichen Secure Shell (SSH) -Schlüssel eines Benutzers zu löschen, und die ImportSshPublicKeyAPI, um dem Konto des Benutzers einen neuen öffentlichen Secure Shell (SSH) -Schlüssel hinzuzufügen.
Generieren und verwalten Sie PGP-Schlüssel
Sie können die PGP-Entschlüsselung (Pretty Good Privacy) für die Dateien verwenden, die Transfer Family mit Workflows verarbeitet. Um die Entschlüsselung in einem Workflow-Schritt zu verwenden, geben Sie einen PGP-Schlüssel an.
Der AWS Speicher-Blog enthält einen Beitrag, in dem beschrieben wird, wie Sie Dateien mithilfe von Transfer Family Managed Workflows, Verschlüsseln und Entschlüsseln von Dateien mit PGP und einfach entschlüsseln können, ohne Code zu schreiben, einfach entschlüsseln können
Generieren Sie PGP-Schlüssel
Der Operator, den Sie zum Generieren Ihrer PGP-Schlüssel verwenden, hängt von Ihrem Betriebssystem und der Version der Software zur Schlüsselgenerierung ab, die Sie verwenden.
Wenn Sie Linux oder Unix verwenden, verwenden Sie zur Installation Ihr Paketinstallationsprogramm. gpg
Abhängig von Ihrer Linux-Distribution sollte einer der folgenden Befehle für Sie funktionieren.
sudo yum install gnupg
sudo apt-get install gnupg
Für Windows oder macOS können Sie alles, was Sie benötigen, von https://gnupg.org/download/
Nachdem Sie Ihre PGP-Schlüsselgenerator-Software installiert haben, führen Sie den gpg --gen-key
Befehl gpg
--full-gen-key
or aus, um ein key pair zu generieren.
Anmerkung
Wenn Sie GnuPG
Version 2.3.0 oder neuer verwenden, müssen Sie ausführen. gpg --full-gen-key
Wenn Sie nach dem Typ des zu erstellenden Schlüssels gefragt werden, wählen Sie RSA oder ECC. Wenn Sie jedoch ECC wählen, stellen Sie sicher, dass Sie BrainPool für die elliptische Kurve entweder NIST oder wählen. Wählen Sie nicht. Curve 25519
Für PGP-Schlüsselpaare unterstützte Algorithmen
Wir unterstützen die folgenden Algorithmen für PGP-Schlüsselpaare:
-
RSA
-
Elgamal
-
ECC:
-
NIST
-
BrainPool
-
Anmerkung
Wir unterstützen keine Curve25519-Schlüssel.
gpg
Nützliche Unterbefehle
Im Folgenden finden Sie einige nützliche Unterbefehle für: gpg
-
gpg --help
— Dieser Befehl listet die verfügbaren Optionen auf und kann einige Beispiele enthalten. -
gpg --list-keys
— Dieser Befehl listet die Details für alle Schlüsselpaare auf, die Sie erstellt haben. -
gpg --fingerprint
— Dieser Befehl listet die Details für alle Ihre Schlüsselpaare auf, einschließlich des Fingerabdrucks der einzelnen Schlüssel. -
gpg --export -a
— Dieser Befehl exportiert den öffentlichen Schlüsselteil des Schlüssels für denuser-name
, der bei der Generierung des Schlüssels verwendet wurde.user-name
PGP-Schlüssel verwalten
Um Ihre PGP-Schlüssel zu verwalten, verwenden Sie. AWS Secrets Manager
Anmerkung
Ihr geheimer Name beinhaltet Ihre Transfer Family Family-Server-ID. Das bedeutet, dass Sie bereits einen Server identifiziert oder erstellt haben sollten, bevor Sie Ihre PGP-Schlüsselinformationen darin AWS Secrets Manager speichern können.
Wenn Sie einen Schlüssel und eine Passphrase für alle Ihre Benutzer verwenden möchten, können Sie die PGP-Schlüsselblockinformationen unter dem geheimen Namen speichernaws/transfer/
, wo sich die ID für Ihren Transfer Family Family-Server server-id
/@pgp-default
befindet. Transfer Family verwendet diesen Standardschlüssel, wenn es keinen Schlüssel gibt, der dem Benutzer server-id
entspricht, der den Workflow ausführt. user-name
Sie können einen Schlüssel für einen bestimmten Benutzer erstellen. In diesem Fall lautet das Format für den geheimen Namenaws/transfer/
, wobei dem Benutzer server-id
/user-name
entspricht, der den Workflow für einen Transfer Family Family-Server ausführt.user-name
Anmerkung
Sie können maximal 3 private PGP-Schlüssel pro Transfer Family Family-Server pro Benutzer speichern.
Um PGP-Schlüssel für die Verwendung bei der Entschlüsselung zu konfigurieren
-
Führen Sie je nach verwendeter GPG-Version einen der folgenden Befehle aus, um ein PGP-Schlüsselpaar zu generieren, das keinen Curve 25519-Verschlüsselungsalgorithmus verwendet.
-
Wenn Sie
GnuPG
Version 2.3.0 oder neuer verwenden, führen Sie den folgenden Befehl aus:gpg --full-gen-key
Sie können wählen
RSA
, oder, falls Sie möchtenECC
, können Sie entwederNIST
oderBrainPool
für die elliptische Kurve wählen. Wenn Siegpg --gen-key
stattdessen ausführen, erstellen Sie ein key pair, das den ECC Curve 25519-Verschlüsselungsalgorithmus verwendet, den wir derzeit nicht für PGP-Schlüssel unterstützen. -
Für Versionen
GnuPG
vor 2.3.0 können Sie den folgenden Befehl verwenden, da RSA der Standardverschlüsselungstyp ist.gpg --gen-key
Wichtig
Während der Schlüsselgenerierung müssen Sie eine Passphrase und eine E-Mail-Adresse angeben. Achten Sie darauf, diese Werte zu notieren. Sie müssen die Passphrase angeben, wenn Sie die Schlüsseldetails AWS Secrets Manager später in diesem Verfahren eingeben. Und Sie müssen dieselbe E-Mail-Adresse angeben, um den privaten Schlüssel im nächsten Schritt zu exportieren.
-
-
Führen Sie den folgenden Befehl aus, um den privaten Schlüssel zu exportieren. Um diesen Befehl zu verwenden,
ersetzen Sie ihn durch den Namen der Datei, in der der private Schlüsselblock gespeichert werden soll, undprivate.pgp
durch die E-Mail-Adresse, die Sie bei der Generierung des key pair verwendet haben.marymajor@example.com
gpg --output
private.pgp
--armor --export-secret-keymarymajor@example.com
-
Dient AWS Secrets Manager zum Speichern Ihres PGP-Schlüssels.
-
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Secrets Manager Konsole unter https://console.aws.amazon.com/secretsmanager/
. -
Wählen Sie im linken Navigationsbereich Secrets aus.
-
Wählen Sie auf der Seite Secrets die Option Neues Geheimnis speichern aus.
-
Wählen Sie auf der Seite Geheimtyp auswählen für Geheimtyp die Option Anderer Geheimtyp aus.
-
Wählen Sie im Abschnitt Schlüssel/Wert-Paare die Registerkarte Schlüssel/Wert aus.
-
Schlüssel — Geben Sie ein.
PGPPrivateKey
Anmerkung
Sie müssen die
PGPPrivateKey
Zeichenfolge exakt eingeben: Fügen Sie vor oder zwischen den Zeichen keine Leerzeichen hinzu. -
Wert — Fügen Sie den Text Ihres privaten Schlüssels in das Wertfeld ein. Sie finden den Text Ihres privaten Schlüssels in der Datei (z. B.
private.pgp
), die Sie beim Exportieren Ihres Schlüssels zu Beginn dieses Verfahrens angegeben haben. Der Schlüssel beginnt mit-----BEGIN PGP PRIVATE KEY BLOCK-----
und endet mit-----END PGP PRIVATE KEY BLOCK-----
.Anmerkung
Stellen Sie sicher, dass der Textblock nur den privaten Schlüssel und nicht auch den öffentlichen Schlüssel enthält.
-
-
Wählen Sie Zeile hinzufügen und wählen Sie im Abschnitt Schlüssel/Wert-Paare die Registerkarte Schlüssel/Wert-Paare aus.
-
Schlüssel — Geben Sie ein.
PGPPassphrase
Anmerkung
Sie müssen die
PGPPassphrase
Zeichenfolge exakt eingeben: Fügen Sie vor oder zwischen den Zeichen keine Leerzeichen hinzu. -
Wert — Geben Sie die Passphrase ein, die Sie bei der Generierung Ihres PGP-Schlüsselpaars verwendet haben.
Anmerkung
Sie können bis zu 3 Sätze von Schlüsseln und Passphrasen hinzufügen. Um einen zweiten Satz hinzuzufügen, fügen Sie zwei neue Zeilen hinzu, geben Sie und
PGPPassphrase2
für die Schlüssel einPGPPrivateKey2
und fügen Sie einen weiteren privaten Schlüssel und eine Passphrase ein. Um einen dritten Satz hinzuzufügen, müssen die Schlüsselwerte und sein.PGPPrivateKey3
PGPPassphrase3
-
-
Wählen Sie Weiter aus.
-
Geben Sie auf der Seite Geheimen Schlüssel konfigurieren einen Namen und eine Beschreibung für Ihr Geheimnis ein.
-
Wenn Sie einen Standardschlüssel erstellen, d. h. einen Schlüssel, der von jedem Transfer Family Family-Benutzer verwendet werden kann, geben Sie ein
aws/transfer/
.server-id
/@pgp-default
Ersetzen Sie ihn durch die ID des Servers, der den Workflow enthält, der einen Entschlüsselungsschritt enthält.server-id
-
Wenn Sie einen Schlüssel erstellen, der von einem bestimmten Transfer Family Family-Benutzer verwendet werden soll, geben Sie ein
aws/transfer/
.server-id
/user-name
Ersetzen Sie ihn durch die ID des Servers, der den Workflow enthält, der einen Entschlüsselungsschritt enthält, undserver-id
ersetzen Sie ihn durch den Namen des Benutzers, der den Workflow ausführt. Dasuser-name
wird in dem Identitätsanbieter gespeichert, den der Transfer Family Family-Server verwendet.user-name
-
-
Wählen Sie Weiter und akzeptieren Sie die Standardeinstellungen auf der Seite „Rotation konfigurieren“. Wählen Sie anschließend Weiter.
-
Wählen Sie auf der Seite „Überprüfen“ die Option Speichern aus, um das Geheimnis zu erstellen und zu speichern.
-
Der folgende Screenshot zeigt die Details für den Benutzer marymajor
für einen bestimmten Transfer Family Family-Server. Dieses Beispiel zeigt drei Schlüssel und die entsprechenden Passphrasen.
Unterstützte PGP-Clients
Die folgenden Clients wurden mit Transfer Family getestet und können zum Generieren von PGP-Schlüsseln und zum Verschlüsseln von Dateien verwendet werden, die Sie mit einem Workflow entschlüsseln möchten.
-
Gpg4win + Kleopatra.
Anmerkung
Wenn Sie Dateien signieren/verschlüsseln auswählen, stellen Sie sicher, dass Sie die Auswahl für Signieren als deaktivieren: Derzeit unterstützen wir das Signieren von verschlüsselten Dateien nicht.
Wenn Sie die verschlüsselte Datei signieren und versuchen, sie mit einem Entschlüsselungsworkflow auf einen Transfer Family Family-Server hochzuladen, wird die folgende Fehlermeldung angezeigt:
Encrypted file with signed message unsupported
-
Hauptversionen von GnuPG: 2.4, 2.3, 2.2, 2.0 und 1.4.
Beachten Sie, dass andere PGP-Clients möglicherweise auch funktionieren, aber nur die hier genannten Clients wurden mit Transfer Family getestet.