Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gestion des clés
Dans cette section, vous trouverez des informations sur SSH les clés, notamment sur la façon de les générer et de les faire pivoter. Pour en savoir plus sur l'utilisation de Transfer Family with AWS Lambda pour gérer les clés, consultez le billet de blog Enabling user self-service key management with A AWS Transfer Family and AWS Lambda
Note
AWS Transfer Family accepte RSAECDSA, et ED25519 clés.
Cette section explique également comment générer et gérer les clés Pretty Good Privacy (PGP).
Rubriques
Algorithmes pris en charge pour les clés utilisateur et serveur
Les algorithmes clés suivants sont pris en charge pour les paires de clés utilisateur et serveur qu'elles contiennent. AWS Transfer Family
Note
Pour les algorithmes à utiliser avec le PGP déchiffrement dans les flux de travail, voir Algorithmes pris en charge pour les paires de PGP clés.
-
Pour ED25519 :
ssh-ed25519
-
Pour RSA :
-
rsa-sha2-256
-
rsa-sha2-512
-
-
Pour ECDSA :
-
ecdsa-sha2-nistp256
-
ecdsa-sha2-nistp384
-
ecdsa-sha2-nistp521
-
Note
Nous prenons ssh-rsa
en SHA1 charge nos anciennes politiques de sécurité. Pour plus de détails, consultez Algorithmes cryptographiques.
Génération de SSH clés pour les utilisateurs gérés par des services
Vous pouvez configurer votre serveur pour authentifier les utilisateurs à l'aide de la méthode d'authentification gérée par le service, dans laquelle les noms d'utilisateur et SSH les clés sont stockés dans le service. La SSH clé publique de l'utilisateur est téléchargée sur le serveur en tant que propriété de l'utilisateur. Cette clé est utilisée par le serveur dans le cadre d'un processus d'authentification standard basé sur des clés. Chaque utilisateur peut avoir plusieurs SSH clés publiques enregistrées sur un serveur individuel. Pour connaître les limites du nombre de clés pouvant être stockées par utilisateur, voir les AWS Transfer Family points de terminaison et les quotas dans le Référence générale d'Amazon Web Services.
Comme alternative à la méthode d'authentification gérée par le service, vous pouvez authentifier les utilisateurs à l'aide d'un fournisseur d'identité personnalisé, ou AWS Directory Service for Microsoft Active Directory. Pour plus d’informations, consultez Travailler avec des fournisseurs d'identité personnalisés ou Utilisation du fournisseur d'identité du AWS Directory Service.
Un serveur ne peut authentifier les utilisateurs qu'à l'aide d'une seule méthode (service géré, service d'annuaire ou fournisseur d'identité personnalisé), et cette méthode ne peut pas être modifiée une fois le serveur créé.
Rubriques
Création de SSH clés sous macOS, Linux ou Unix
Sur les systèmes d'exploitation macOS, Linux ou Unix, vous utilisez la ssh-keygen
commande pour créer une clé SSH publique et une clé SSH privée, également appelées paire de clés.
Pour créer des SSH clés sur un système d'exploitation macOS, Linux ou Unix
-
Sur les systèmes d'exploitation macOS, Linux ou Unix, ouvrez un terminal de commande.
-
AWS Transfer Family accepte les RSA clés ED25519 formatées en ECDSA -, - et -. Choisissez la commande appropriée en fonction du type de paire de clés que vous générez.
Note
Dans les exemples suivants, nous n'indiquons pas de phrase secrète : dans ce cas, l'outil vous demande de saisir votre mot de passe, puis de le répéter pour vérifier. La création d'une phrase secrète permet de mieux protéger votre clé privée et peut également améliorer la sécurité globale du système. Vous ne pouvez pas récupérer votre mot de passe : si vous l'oubliez, vous devez créer une nouvelle clé.
Toutefois, si vous générez une clé d'hôte de serveur, vous devez spécifier une phrase secrète vide, en spécifiant l'
-N ""
option dans la commande (ou en appuyantEnter
deux fois lorsque vous y êtes invité), car les serveurs Transfer Family ne peuvent pas demander de mot de passe au démarrage.-
Pour générer une RSA paire de clés de 4 096 bits :
ssh-keygen -t rsa -b 4096 -f
key_name
-
Pour générer une paire de clés ECDSA de 521 bits (ECDSAdont les tailles de bits sont de 256, 384 et 521) :
ssh-keygen -t ecdsa -b 521 -f
key_name
-
Pour générer une paire de ED25519 clés :
ssh-keygen -t ed25519 -f
key_name
Note
est le nom du fichier de paires de SSH clés.key_name
Voici un exemple de
ssh-keygen
sortie.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]-----+
Note
Lorsque vous exécutez la commande
ssh-keygen
telle qu'elle est présentée ci-dessus, elle crée les clés publique et privée sous forme de fichiers dans le répertoire actuel.Votre paire de SSH clés est maintenant prête à être utilisée. Suivez les étapes 3 et 4 pour enregistrer la clé SSH publique pour les utilisateurs gérés par le service. Ces utilisateurs utilisent les clés lorsqu'ils transfèrent des fichiers sur les terminaux du serveur Transfer Family.
-
-
Accédez au
fichier et ouvrez-le.key_name
.pub -
Copiez le texte et collez-le dans la clé SSH publique pour l'utilisateur géré par le service.
-
Ouvrez la AWS Transfer Family console sur https://console.aws.amazon.com/transfer/
, puis sélectionnez Serveurs dans le volet de navigation. -
Sur la page Serveurs, sélectionnez l'ID du serveur qui contient l'utilisateur que vous souhaitez mettre à jour.
-
Sélectionnez l'utilisateur pour lequel vous ajoutez une clé publique.
-
Dans le volet des clés SSH publiques, choisissez Ajouter une clé SSH publique.
-
Collez le texte de la clé publique que vous avez générée dans la zone de texte de la clé SSH publique, puis choisissez Ajouter une clé.
La nouvelle clé est répertoriée dans le volet SSH des clés publiques.
-
Création de SSH clés sous Microsoft Windows
Windows utilise un format de paire de SSH clés légèrement différent. La clé publique doit être au format PUB
et la clé privée au format PPK
. Sous Windows, vous pouvez utiliser P uTTYgen pour créer une paire de SSH clés dans les formats appropriés. Vous pouvez également utiliser P uTTYgen pour convertir une clé privée générée ssh-keygen
à l'aide d'un .ppk
fichier.
Note
Si vous présentez SCP à Win un fichier de clé privée non .ppk
formaté, ce client propose de convertir la clé en .ppk
format pour vous.
Pour un didacticiel sur la création de SSH clés à l'aide de P uTTYgen sous Windows, consultez le site Web SSH .com
Convertir une clé SSH2 publique au PEM format
AWS Transfer Family accepte uniquement les clés publiques PEM formatées. Si vous avez une clé SSH2 publique, vous devez la convertir. Le format d'une clé SSH2 publique est le suivant :
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20160402" AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URI : : ---- END SSH2 PUBLIC KEY ----
Le format d'une clé PEM publique est le suivant :
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA...
Exécutez la commande suivante pour convertir une clé publique SSH2 formatée en clé publique PEM formatée. Remplacez ssh2-key
avec le nom de votre SSH2 clé, et PEM-key
avec le nom de votre PEM clé.
ssh-keygen -i -f
ssh2-key
.pub >PEM-key
.pub
Faire pivoter SSH les touches
Pour des raisons de sécurité, nous recommandons la meilleure pratique qui consiste à faire pivoter vos SSH clés. Généralement, cette rotation est spécifiée dans le cadre d'une politique de sécurité et est mise en œuvre de manière automatisée. Selon le niveau de sécurité, pour une communication très sensible, une paire de SSH clés peut être utilisée une seule fois. Cela élimine les risques liés au stockage des clés. Cependant, il est beaucoup plus courant de stocker les SSH informations d'identification pendant un certain temps et de définir un intervalle qui n'impose pas une charge excessive aux utilisateurs. Cette période est souvent de trois mois.
Deux méthodes sont utilisées pour effectuer la rotation des SSH touches :
-
Sur la console, vous pouvez télécharger une nouvelle clé SSH publique et supprimer une clé SSH publique existante.
-
À l'aide deAPI, vous pouvez mettre DeleteSshPublicKeyAPIà jour les utilisateurs existants en utilisant la clé publique Secure Shell (SSH) d'un utilisateur et en ajoutant une nouvelle clé publique Secure Shell (SSH) au compte de l'utilisateur. ImportSshPublicKeyAPI
Génération et gestion PGP des clés
Vous pouvez utiliser le décryptage Pretty Good Privacy (PGP) avec les fichiers que Transfer Family traite avec les flux de travail. Pour utiliser le déchiffrement dans une étape du flux de travail, vous devez fournir une PGP clé.
Le blog sur le AWS stockage contient un article qui décrit comment crypter et déchiffrer des fichiers, crypter et déchiffrer des fichiers avec et
Générer des PGP clés
La méthode que vous utilisez pour générer vos PGP clés dépend de votre système d'exploitation et de la version du logiciel de génération de clés que vous utilisez.
Si vous utilisez Linux ou Unix, utilisez le programme d'installation de votre package pour l'installergpg
. En fonction de votre distribution Linux, l'une des commandes suivantes devrait fonctionner pour vous.
sudo yum install gnupg
sudo apt-get install gnupg
Pour Windows ou macOS, vous pouvez télécharger ce dont vous avez besoin sur https://gnupg.org/download/
Après avoir installé votre logiciel de génération de PGP clés, vous devez exécuter la gpg --gen-key
commande gpg
--full-gen-key
or pour générer une paire de clés.
Note
Si vous utilisez la GnuPG
version 2.3.0 ou une version plus récente, vous devez exécutergpg --full-gen-key
. Lorsque vous êtes invité à saisir le type de clé à créer, choisissez RSA ouECC. Toutefois, si vous le souhaitezECC, assurez-vous de choisir l'un des deux NIST or BrainPool pour la courbe elliptique. Ne choisissez pas Curve 25519.
Algorithmes pris en charge pour les paires de PGP clés
Les algorithmes suivants sont pris en charge pour les paires de PGP clés :
-
RSA
-
Elgamal
-
ECC:
-
NIST
-
BrainPool
-
Note
Les touches Curve25519 ne sont pas prises en charge.
gpg
Sous-commandes utiles
Voici quelques sous-commandes utiles pour gpg
:
-
gpg --help
— Cette commande répertorie les options disponibles et peut inclure quelques exemples. -
gpg --list-keys
— Cette commande répertorie les détails de toutes les paires de clés que vous avez créées. -
gpg --fingerprint
— Cette commande répertorie les détails de toutes vos paires de clés, y compris l'empreinte digitale de chaque clé. -
gpg --export -a
— Cette commande exporte la partie clé publique de lauser-name
clé utilisée lors de la génération de la clé.user-name
Gérer les clés PGP
Pour gérer vos PGP clés, vous devez utiliser AWS Secrets Manager.
Note
Votre nom secret inclut votre identifiant de serveur Transfer Family. Cela signifie que vous devez déjà avoir identifié ou créé un serveur avant de pouvoir y stocker vos informations PGP clés AWS Secrets Manager.
Si vous souhaitez utiliser une seule clé et une seule phrase secrète pour tous vos utilisateurs, vous pouvez enregistrer les informations du bloc de PGP clés sous le nom secretaws/transfer/
, où se server-id
/@pgp-default
trouve l'identifiant de votre serveur Transfer Family. Cette clé par défaut est utilisée si aucune clé ne server-id
correspond à l'utilisateur qui exécute le flux de travail. user-name
Vous pouvez également créer une clé pour un utilisateur spécifique. Dans ce cas, le format du nom du secret est aws/transfer/
« où server-id
/user-name
correspond à l'utilisateur qui exécute le flux de travail pour un serveur Transfer Family ».user-name
Note
Vous pouvez stocker un maximum de 3 clés PGP privées, par serveur Transfer Family, par utilisateur.
Pour configurer les PGP clés à utiliser avec le déchiffrement
-
Selon la version GPG que vous utilisez, exécutez l'une des commandes suivantes pour générer une paire de PGP clés qui n'utilise pas d'algorithme de chiffrement Curve 25519.
-
Si vous utilisez la
GnuPG
version 2.3.0 ou une version plus récente, exécutez la commande suivante :gpg --full-gen-key
Vous pouvez choisir
RSA
, ou, si vous le souhaitezECC
, vous pouvez choisir l'uneNIST
ouBrainPool
l'autre courbe elliptique. Si vous exécutezgpg --gen-key
plutôt, vous créez une paire de clés qui utilise l'algorithme de chiffrement ECC Curve 25519, que nous ne prenons actuellement pas en charge pour les PGP clés. -
Pour les versions
GnuPG
antérieures à 2.3.0, vous pouvez utiliser la commande suivante, car RSA il s'agit du type de chiffrement par défaut.gpg --gen-key
Important
Pendant le processus de génération des clés, vous devez fournir un mot de passe et une adresse e-mail. Assurez-vous de prendre note de ces valeurs. Vous devez fournir le mot de passe lorsque vous entrez les détails de la clé AWS Secrets Manager plus loin dans cette procédure. Et vous devez fournir la même adresse e-mail pour exporter la clé privée à l'étape suivante.
-
-
Exécutez la commande suivante pour exporter la clé privée. Pour utiliser cette commande,
remplacez-la par le nom du fichier dans lequel vous souhaitez enregistrer le bloc de clé privée etprivate.pgp
par l'adresse e-mail que vous avez utilisée lors de la génération de la paire de clés.marymajor@example.com
gpg --output
private.pgp
--armor --export-secret-keymarymajor@example.com
-
AWS Secrets Manager Utilisez-le pour ranger votre PGP clé.
-
Connectez-vous à la AWS Secrets Manager console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/secretsmanager/
. -
Dans le volet de navigation de gauche, choisissez Secrets.
-
Sur la page Secrets, choisissez Enregistrer un nouveau secret.
-
Sur la page Choisir un type de secret, pour Type de secret, sélectionnez Autre type de secret.
-
Dans la section Paires clé/valeur, choisissez l'onglet clé/valeur.
-
Clé — Entrée
PGPPrivateKey
.Note
Vous devez saisir la
PGPPrivateKey
chaîne exactement : n'ajoutez aucun espace avant ou entre les caractères. -
valeur — Collez le texte de votre clé privée dans le champ de valeur. Le texte de votre clé privée se trouve dans le fichier (par exemple
private.pgp
) que vous avez spécifié lors de l'exportation de votre clé au début de cette procédure. La clé commence par-----BEGIN PGP PRIVATE KEY BLOCK-----
et se termine par-----END PGP PRIVATE KEY BLOCK-----
.Note
Assurez-vous que le bloc de texte contient uniquement la clé privée et ne contient pas également la clé publique.
-
-
Sélectionnez Ajouter une ligne et dans la section Paires clé/valeur, choisissez l'onglet clé/valeur.
-
Clé — Entrée
PGPPassphrase
.Note
Vous devez saisir la
PGPPassphrase
chaîne exactement : n'ajoutez aucun espace avant ou entre les caractères. -
valeur — Entrez le mot de passe que vous avez utilisé lors de la génération de votre paire PGP de clés.
Note
Vous pouvez ajouter jusqu'à 3 jeux de clés et de phrases de passe. Pour ajouter un deuxième ensemble, ajoutez deux nouvelles lignes, entrez
PGPPrivateKey2
etPGPPassphrase2
pour les clés, puis collez une autre clé privée et une autre phrase secrète. Pour ajouter un troisième ensemble, les valeurs clés doivent êtrePGPPrivateKey3
etPGPPassphrase3
. -
-
Choisissez Suivant.
-
Sur la page Configurer le secret, entrez le nom et la description de votre secret.
-
Si vous créez une clé par défaut, c'est-à-dire une clé qui peut être utilisée par n'importe quel utilisateur de Transfer Family, entrez
aws/transfer/
. Remplacezserver-id
/@pgp-default
par l'ID du serveur qui contient le flux de travail comportant une étape de déchiffrement.server-id
-
Si vous créez une clé destinée à être utilisée par un utilisateur spécifique de Transfer Family, entrez
aws/transfer/
. Remplacezserver-id
/user-name
par l'ID du serveur qui contient le flux de travail comportant une étape de déchiffrement et remplacezserver-id
par le nom de l'utilisateur qui exécute le flux de travail.user-name
Il est stocké dans le fournisseur d'identité utilisé par le serveur Transfer Family.user-name
-
-
Choisissez Next et acceptez les valeurs par défaut sur la page Configurer la rotation. Ensuite, sélectionnez Suivant.
-
Sur la page Révision, choisissez Store pour créer et stocker le secret.
-
La capture d'écran suivante montre les informations relatives à l'utilisateur marymajor
pour un serveur Transfer Family spécifique. Cet exemple montre trois clés et les phrases de passe correspondantes.
PGPClients pris en charge
Les clients suivants ont été testés avec Transfer Family et peuvent être utilisés pour générer des PGP clés et pour chiffrer des fichiers que vous souhaitez déchiffrer à l'aide d'un flux de travail.
-
GPG4win + Cléopâtre.
Note
Lorsque vous sélectionnez Signer/Chiffrer des fichiers, assurez-vous de désactiver la sélection pour Signer en tant que : nous ne prenons actuellement pas en charge la signature pour les fichiers chiffrés.
-
Principales versions de GnuPG : 2.4, 2.3, 2.2, 2.0 et 1.4.
Notez que d'autres PGP clients peuvent également fonctionner, mais seuls les clients mentionnés ici ont été testés avec Transfer Family.