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 SSH et PGP dans Transfer Family
Dans cette section, vous trouverez des informations sur les clés SSH, 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 les clés RSA, ECDSA et ED25519.
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 déchiffrement PGP dans les flux de travail, voir Algorithmes pris en charge pour les paires de clés PGP.
-
Pour ED25519 :
ssh-ed25519
-
Pour RSA :
-
rsa-sha2-256
-
rsa-sha2-512
-
-
Pour l'ECDSA :
-
ecdsa-sha2-nistp256
-
ecdsa-sha2-nistp384
-
ecdsa-sha2-nistp521
-
Note
Nous utilisons ssh-rsa
SHA1 pour nos anciennes politiques de sécurité. Pour plus de détails, consultez Algorithmes cryptographiques.
Génération de clés SSH 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 les clés SSH sont stockés dans le service. La clé SSH 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. Sur un même serveur, chaque utilisateur peut disposer de plusieurs clés SSH publiques sur fichier. 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 de AWS Directory Service pour Microsoft Active Directory.
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 clés SSH 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é publique SSH et une clé privée SSH, également appelées paire de clés.
Pour créer des clés SSH 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 clés au format RSA, ECDSA et ED25519. 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 paire de clés RSA 4096 bits :
ssh-keygen -t rsa -b 4096 -f
key_name
-
Pour générer une paire de clés ECDSA 521 bits (les tailles de bits de l'ECDSA sont de 256, 384 et 521) :
ssh-keygen -t ecdsa -b 521 -f
key_name
-
Pour générer une paire de clés ED25519 :
ssh-keygen -t ed25519 -f
key_name
Note
est le nom du fichier de paire de clés SSH.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 clés SSH est maintenant prête à être utilisée. Suivez les étapes 3 et 4 pour stocker la clé publique SSH 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é publique SSH pour l'utilisateur géré par le service.
-
Ouvrez la AWS Transfer Family console à l'adresse https://console.aws.amazon.com/transfer/
, puis sélectionnez Servers 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 Clés publiques SSH, choisissez Ajouter une clé publique SSH.
-
Collez le texte de la clé publique que vous avez générée dans la zone de texte de la clé publique SSH, puis choisissez Ajouter une clé.
La nouvelle clé est répertoriée dans le volet des clés publiques SSH.
-
Création de clés SSH sous Microsoft Windows
Windows utilise un format de paire de clés SSH légèrement différent. La clé publique doit être au format PUB
et la clé privée au format PPK
. Sur Windows, vous pouvez utiliser PuTTYgen pour créer une paire de clés SSH dans les formats appropriés. Vous pouvez également utiliser PuTTYgen pour convertir une clé privée générée à l'aide de ssh-keygen
en fichier .ppk
.
Note
Si vous présentez à WinSCP un fichier de clé privée non formaté, ce client propose de convertir la clé .ppk
.ppk
en format pour vous.
Convertir une clé publique SSH2 au format PEM
AWS Transfer Family accepte uniquement les clés publiques au format PEM. Si vous avez une clé publique SSH2, vous devez la convertir. Le format d'une clé publique SSH2 est le suivant :
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20160402" AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URI : : ---- END SSH2 PUBLIC KEY ----
Le format d'une clé publique PEM est le suivant :
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA...
Exécutez la commande suivante pour convertir une clé publique au format SSH2 en clé publique au format PEM. Remplacez ssh2-key
par le nom de votre clé SSH2 et PEM-key par le nom de votre clé PEM
.
ssh-keygen -i -f
ssh2-key
.pub >PEM-key
.pub
Faire pivoter les clés SSH
Pour des raisons de sécurité, nous recommandons la meilleure pratique qui consiste à faire pivoter vos clés SSH. 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 clés SSH 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 informations d'identification SSH 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.
Il existe deux méthodes de rotation de clés SSH :
-
Sur la console, vous pouvez télécharger une nouvelle clé publique SSH et supprimer une clé publique SSH existante.
-
À l'aide de l'API, vous pouvez mettre à jour les utilisateurs existants en utilisant l'DeleteSshPublicKeyAPI pour supprimer la clé publique Secure Shell (SSH) d'un utilisateur et l'ImportSshPublicKeyAPI pour ajouter une nouvelle clé publique Secure Shell (SSH) au compte de l'utilisateur.
Génération et gestion de clés PGP
Vous pouvez utiliser le décryptage Pretty Good Privacy (PGP) avec les fichiers que Transfer Family traite avec des flux de travail. Pour utiliser le déchiffrement dans une étape du flux de travail, fournissez une clé PGP.
Le blog sur le AWS stockage contient un article qui décrit comment simplement déchiffrer des fichiers sans écrire de code à l'aide des flux de travail Transfer Family Managed, crypter et déchiffrer des fichiers avec
Génération de clés PGP
L'opérateur que vous utilisez pour générer vos clés PGP 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 clés PGP, 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 ou ECC. Toutefois, si vous choisissez ECC, veillez à choisir l'une ou l'autre de ces options NIST ou BrainPool à choisir la courbe elliptique. Ne choisissez pasCurve 25519.
Algorithmes pris en charge pour les paires de clés PGP
Nous prenons en charge les algorithmes suivants pour les paires de clés PGP :
-
RSA
-
Elgamal
-
ETC. :
-
NIST
-
BrainPool
-
Note
Nous ne prenons pas en charge les touches CCurve25519.
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 clés PGP, utilisez 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 les informations de votre clé PGP. 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 clés PGP sous le nom secretaws/transfer/
, où se server-id
/@pgp-default
trouve l'identifiant de votre serveur Transfer Family. Transfer Family utilise cette clé par défaut si aucune clé ne server-id
correspond à l'utilisateur qui exécute le flux de travail. user-name
Vous pouvez créer une clé pour un utilisateur spécifique. Dans ce cas, le format du nom du secret est aws/transfer/
le suivant : 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 privées PGP, par serveur Transfer Family, par utilisateur.
Pour configurer les clés PGP à utiliser avec le déchiffrement
-
Selon la version de GPG que vous utilisez, exécutez l'une des commandes suivantes pour générer une paire de clés PGP qui n'utilise pas l'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 clés PGP. -
Pour les versions
GnuPG
antérieures à 2.3.0, vous pouvez utiliser la commande suivante, car RSA est le 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 stocker votre clé PGP.
-
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é lorsque vous avez généré votre paire de clés PGP.
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.
Clients PGP pris en charge
Les clients suivants ont été testés avec Transfer Family et peuvent être utilisés pour générer des clés PGP 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.
Si vous signez le fichier chiffré et tentez de le télécharger sur un serveur Transfer Family avec un flux de déchiffrement, le message d'erreur suivant s'affiche :
Encrypted file with signed message unsupported
-
Principales versions de GnuPG : 2.4, 2.3, 2.2, 2.0 et 1.4.
Notez que d'autres clients PGP peuvent également fonctionner, mais seuls les clients mentionnés ici ont été testés avec Transfer Family.