Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Gestione delle chiavi
In questa sezione, puoi trovare informazioni sulle SSH chiavi, incluso come generarle e come ruotarle. Per i dettagli sull'utilizzo di Transfer Family with AWS Lambda per gestire le chiavi, consulta il post del blog Enabling user self-service key management with A AWS Transfer Family and AWS Lambda
Nota
AWS Transfer Family accetta RSA ECDSA e ED25519 chiavi.
Questa sezione spiega anche come generare e gestire le chiavi Pretty Good Privacy (PGP).
Argomenti
Algoritmi supportati per chiavi utente e server
I seguenti algoritmi chiave sono supportati per le coppie di chiavi utente e server all'interno. AWS Transfer Family
-
ED25519Per:
ssh-ed25519
-
PerRSA:
-
rsa-sha2-256
-
rsa-sha2-512
-
-
PerECDSA:
-
ecdsa-sha2-nistp256
-
ecdsa-sha2-nistp384
-
ecdsa-sha2-nistp521
-
Nota
Supportiamo ssh-rsa
SHA1 le nostre vecchie politiche di sicurezza. Per informazioni dettagliate, consultare Algoritmi crittografici.
Genera SSH chiavi per gli utenti gestiti dal servizio
È possibile configurare il server per autenticare gli utenti utilizzando il metodo di autenticazione gestita dal servizio, in cui i nomi utente e SSH le chiavi sono archiviati all'interno del servizio. La SSH chiave pubblica dell'utente viene caricata sul server come proprietà dell'utente. Questa chiave viene utilizzata dal server come parte di un processo di autenticazione standard basato su chiavi. Ogni utente può avere più SSH chiavi pubbliche archiviate su un singolo server. Per i limiti al numero di chiavi che possono essere archiviate per utente, consulta AWS Transfer Family endpoint e quote in. Riferimenti generali di Amazon Web Services
In alternativa al metodo di autenticazione gestita dal servizio, puoi autenticare gli utenti utilizzando un provider di identità personalizzato oppure. AWS Directory Service for Microsoft Active Directory Per ulteriori informazioni, consulta Lavorare con provider di identità personalizzati o Utilizzo del provider di identità AWS Directory Service.
Un server può autenticare gli utenti solo utilizzando un metodo (servizio gestito, servizio di directory o provider di identità personalizzato) e tale metodo non può essere modificato dopo la creazione del server.
Argomenti
Creazione di SSH chiavi su macOS, Linux o Unix
Nei sistemi operativi macOS, Linux o Unix, si utilizza il ssh-keygen
comando per creare una chiave SSH pubblica e una chiave SSH privata, nota anche come coppia di chiavi.
Per creare SSH chiavi su un sistema operativo macOS, Linux o Unix
-
Sui sistemi operativi macOS, Linux o Unix, apri un terminale di comando.
-
AWS Transfer Family accetta chiavi in RSA formato -, ECDSA - e ED25519 -formattato. Scegliete il comando appropriato in base al tipo di coppia di chiavi che state generando.
Nota
Negli esempi seguenti, non viene specificata una passphrase: in questo caso, lo strumento chiede di inserire la passphrase e quindi di ripeterla per verificare. La creazione di una passphrase offre una protezione migliore per la chiave privata e potrebbe anche migliorare la sicurezza generale del sistema. Non è possibile recuperare la passphrase: se la si dimentica, è necessario creare una nuova chiave.
Tuttavia, se state generando una chiave host del server, dovete specificare una passphrase vuota, specificando l'
-N ""
opzione nel comando (o premendoEnter
due volte quando richiesto), perché i server Transfer Family non possono richiedere una password all'avvio.-
Per generare una coppia di key pair a RSA 4096 bit:
ssh-keygen -t rsa -b 4096 -f
key_name
-
Per generare una coppia di chiavi ECDSA a 521 bit (ECDSAcon dimensioni di bit di 256, 384 e 521):
ssh-keygen -t ecdsa -b 521 -f
key_name
-
Per generare una ED25519 key pair:
ssh-keygen -t ed25519 -f
key_name
Nota
è il nome del file della coppia di SSH chiavi.key_name
Di seguito viene illustrato un esempio dell'
ssh-keygen
output.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]-----+
Nota
Quando si esegue il comando
ssh-keygen
come mostrato in precedenza, le chiavi pubblica e privata vengono create come file nella directory corrente.La tua SSH key pair è ora pronta per l'uso. Segui i passaggi 3 e 4 per archiviare la chiave SSH pubblica per gli utenti gestiti dal servizio. Questi utenti utilizzano le chiavi quando trasferiscono file sugli endpoint del server Transfer Family.
-
-
Accedere al
file e aprirlo.key_name
.pub -
Copia il testo e incollalo nella chiave SSH pubblica per l'utente gestito dal servizio.
-
Apri la AWS Transfer Family console all'indirizzo https://console.aws.amazon.com/transfer/
, quindi seleziona Server dal pannello di navigazione. -
Nella pagina Server, seleziona l'ID server per il server che contiene l'utente che desideri aggiornare.
-
Seleziona l'utente per il quale stai aggiungendo una chiave pubblica.
-
Nel riquadro delle chiavi SSH pubbliche, scegli Aggiungi chiave SSH pubblica.
-
Incolla il testo della chiave pubblica che hai generato nella casella di testo della chiave SSH pubblica, quindi scegli Aggiungi chiave.
La nuova chiave è elencata nel riquadro della chiave SSH pubblica.
-
Creazione di SSH chiavi su Microsoft Windows
Windows utilizza un formato di SSH key pair leggermente diverso. La chiave pubblica deve essere nel formato PUB
e la chiave privata deve essere nel formato PPK
. In Windows, è possibile utilizzare P uTTYgen per creare una SSH key pair nei formati appropriati. È inoltre possibile utilizzare P uTTYgen per convertire una chiave privata generata utilizzando ssh-keygen
in un .ppk
file.
Nota
Se presenti a Win un file SCP con chiave privata non in .ppk
formato, quel client ti offre la possibilità di convertire la chiave in un .ppk
formato automatico.
Per un tutorial sulla creazione di SSH chiavi utilizzando P uTTYgen in Windows, consulta il sito Web SSH .com
Convertire una chiave SSH2 pubblica in PEM formato
AWS Transfer Family accetta solo chiavi pubbliche PEM formattate. Se hai una chiave SSH2 pubblica, devi convertirla. Una chiave SSH2 pubblica ha il seguente formato:
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20160402" AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URI : : ---- END SSH2 PUBLIC KEY ----
Una chiave PEM pubblica ha il seguente formato:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA...
Eseguite il comando seguente per convertire una chiave pubblica SSH2 formattata in una chiave pubblica PEM formattata. Replace (Sostituisci) ssh2-key
con il nome della tua chiave e SSH2 PEM-key
con il nome della tua PEM chiave.
ssh-keygen -i -f
ssh2-key
.pub >PEM-key
.pub
Ruota i tasti SSH
Per motivi di sicurezza, consigliamo la migliore pratica di ruotare i tasti. SSH Di solito, questa rotazione viene specificata come parte di una politica di sicurezza e viene implementata in modo automatizzato. A seconda del livello di sicurezza, per una comunicazione altamente sensibile, una SSH key pair potrebbe essere utilizzata una sola volta. In tal modo si elimina qualsiasi rischio causato da chiavi archiviate. Tuttavia, è molto più comune archiviare SSH le credenziali per un periodo di tempo e impostare un intervallo che non imponga oneri eccessivi agli utenti. Un intervallo di tempo di tre mesi è la norma.
Esistono due metodi per eseguire SSH la rotazione dei tasti:
-
Sulla console, puoi caricare una nuova chiave SSH pubblica ed eliminare una chiave SSH pubblica esistente.
-
UtilizzandoAPI, è possibile aggiornare gli utenti esistenti utilizzando il DeleteSshPublicKeyAPIper eliminare la chiave pubblica Secure Shell (SSH) di un utente e il ImportSshPublicKeyAPIper aggiungere una nuova chiave pubblica Secure Shell (SSH) all'account dell'utente.
Genera e gestisci PGP le chiavi
Puoi utilizzare la decrittografia Pretty Good Privacy (PGP) con i file che Transfer Family elabora con i flussi di lavoro. Per utilizzare la decrittografia in una fase del flusso di lavoro, è necessario fornire una chiave. PGP
Il blog AWS sullo storage contiene un post che descrive come crittografare e decrittografare i file, crittografare e decrittografare
Genera chiavi PGP
Il metodo utilizzato per generare le PGP chiavi dipende dal sistema operativo e dalla versione del software di generazione delle chiavi in uso.
Se usi Linux o Unix, usa il programma di installazione del pacchetto per l'installazione. gpg
A seconda della distribuzione Linux in uso, uno dei seguenti comandi dovrebbe funzionare correttamente.
sudo yum install gnupg
sudo apt-get install gnupg
Per Windows o macOS, puoi scaricare ciò che ti serve da https://gnupg.org/download/.
Dopo aver installato il software del generatore di PGP chiavi, esegui il gpg --gen-key
comando gpg
--full-gen-key
o per generare una coppia di chiavi.
Nota
Se utilizzi la GnuPG
versione 2.3.0 o successiva, devi eseguire. gpg --full-gen-key
Quando viene richiesto il tipo di chiave da creare, scegliete o. RSA ECC Tuttavia, se lo desideriECC, assicurati di scegliere uno dei due NIST oppure BrainPool per la curva ellittica. Non scegliere Curve 25519.
Algoritmi supportati per coppie di chiavi PGP
I seguenti algoritmi sono supportati per le coppie di chiavi: PGP
-
RSA
-
Elgamal
-
ECC:
-
NIST
-
BrainPool
-
Nota
I tasti Curve25519 non sono supportati.
gpg
Sottocomandi utili
Di seguito sono riportati alcuni sottocomandi utili per: gpg
-
gpg --help
— Questo comando elenca le opzioni disponibili e potrebbe includere alcuni esempi. -
gpg --list-keys
— Questo comando elenca i dettagli di tutte le coppie di chiavi create. -
gpg --fingerprint
— Questo comando elenca i dettagli di tutte le coppie di chiavi, inclusa l'impronta digitale di ogni chiave. -
gpg --export -a
— Questo comando esporta la parte della chiave pubblica relativa allauser-name
chiave utilizzata al momento della generazione della chiave.user-name
Gestire le chiavi PGP
Per gestire le PGP chiavi, è necessario utilizzare AWS Secrets Manager.
Nota
Il tuo nome segreto include l'ID del server Transfer Family. Ciò significa che dovresti aver già identificato o creato un server prima di poter archiviare le tue informazioni PGP chiave AWS Secrets Manager.
Se desideri utilizzare una chiave e una passphrase per tutti i tuoi utenti, puoi memorizzare le informazioni sul blocco PGP chiave sotto il nome segretoaws/transfer/
, dove si server-id
/@pgp-default
trova l'ID del tuo server Transfer Family. Questa chiave predefinita viene utilizzata se non esiste una chiave che server-id
corrisponda all'utente che sta eseguendo il flusso di lavoro. user-name
In alternativa, è possibile creare una chiave per un utente specifico. In questo caso, il formato per il nome segreto èaws/transfer/
, dove server-id
/user-name
corrisponde all'utente che esegue il flusso di lavoro per un server Transfer Family.user-name
Nota
È possibile memorizzare un massimo di 3 chiavi PGP private, per server Transfer Family, per utente.
Per configurare PGP le chiavi da utilizzare con la decrittografia
-
A seconda della GPG versione in uso, esegui uno dei seguenti comandi per generare una coppia di PGP key pair che non utilizzi un algoritmo di crittografia Curve 25519.
-
Se utilizzi la
GnuPG
versione 2.3.0 o successiva, esegui il seguente comando:gpg --full-gen-key
Puoi scegliere o
RSA
, se lo desideri, puoi scegliereECC
uno dei dueNIST
oBrainPool
per la curva ellittica. Segpg --gen-key
invece esegui, crei una coppia di chiavi che utilizza l'algoritmo di crittografia ECC Curve 25519, che attualmente non supportiamo per PGP le chiavi. -
Per le versioni
GnuPG
precedenti alla 2.3.0, puoi utilizzare il seguente comando, poiché RSA è il tipo di crittografia predefinito.gpg --gen-key
Importante
Durante il processo di generazione delle chiavi, è necessario fornire una passphrase e un indirizzo e-mail. Assicuratevi di prendere nota di questi valori. È necessario fornire la passphrase quando si inseriscono i dettagli della chiave in una fase AWS Secrets Manager successiva di questa procedura. Inoltre, è necessario fornire lo stesso indirizzo e-mail per esportare la chiave privata nel passaggio successivo.
-
-
Esegui il comando seguente per esportare la chiave privata. Per utilizzare questo comando, sostituiscilo
con il nome del file in cui salvare il blocco di chiave privata eprivate.pgp
con l'indirizzo email che hai usato quando hai generato la coppia di chiavi.marymajor@example.com
gpg --output
private.pgp
--armor --export-secret-keymarymajor@example.com
-
AWS Secrets Manager Utilizzatelo per memorizzare la PGP chiave.
-
Accedi a AWS Management Console e apri la AWS Secrets Manager console all'indirizzo https://console.aws.amazon.com/secretsmanager/
. -
Nel pannello di navigazione a sinistra, seleziona Segreti.
-
Nella pagina Segreti, scegli Memorizza un nuovo segreto.
-
Nella pagina Scegli il tipo di segreto, per Tipo segreto, seleziona Altro tipo di segreto.
-
Nella sezione Coppie chiave/valore, scegli la scheda Chiave/valore.
-
Chiave: Invio.
PGPPrivateKey
Nota
È necessario immettere la
PGPPrivateKey
stringa esattamente: non aggiungere spazi prima o tra i caratteri. -
value — Incolla il testo della tua chiave privata nel campo del valore. È possibile trovare il testo della chiave privata nel file (ad esempio,
private.pgp
) specificato al momento dell'esportazione della chiave in precedenza in questa procedura. La chiave inizia con-----BEGIN PGP PRIVATE KEY BLOCK-----
e finisce con-----END PGP PRIVATE KEY BLOCK-----
.Nota
Assicurati che il blocco di testo contenga solo la chiave privata e non contenga anche la chiave pubblica.
-
-
Seleziona Aggiungi riga e nella sezione Coppie chiave/valore, scegli la scheda Chiave/valore.
-
Chiave: Invio.
PGPPassphrase
Nota
È necessario immettere la
PGPPassphrase
stringa esattamente: non aggiungere spazi prima o tra i caratteri. -
value — Inserisci la passphrase che hai usato per generare la tua key pairPGP.
Nota
Puoi aggiungere fino a 3 set di chiavi e passphrase. Per aggiungere un secondo set, aggiungi due nuove righe e inserisci e
PGPPassphrase2
per le chiaviPGPPrivateKey2
e incolla un'altra chiave privata e passphrase. Per aggiungere un terzo set, i valori chiave devono essere e.PGPPrivateKey3
PGPPassphrase3
-
-
Scegli Next (Successivo).
-
Nella pagina Configura segreto, inserisci un nome e una descrizione per il tuo segreto.
-
Se stai creando una chiave predefinita, ovvero una chiave che può essere utilizzata da qualsiasi utente di Transfer Family, inserisci
aws/transfer/
. Sostituiscilaserver-id
/@pgp-default
con l'ID del server che contiene il flusso di lavoro che prevede una fase di decrittografia.server-id
-
Se stai creando una chiave che deve essere utilizzata da un utente Transfer Family specifico, inserisci
aws/transfer/
. Sostituisciloserver-id
/user-name
con l'ID del server che contiene il flusso di lavoro con una fase di decrittografia e sostituisciloserver-id
con il nome dell'utente che esegue il flusso di lavoro.user-name
Viene memorizzato nel provider di identità utilizzato dal server Transfer Family.user-name
-
-
Scegli Avanti e accetta le impostazioni predefinite nella pagina Configura rotazione. Quindi scegli Successivo.
-
Nella pagina Revisione, scegli Store per creare e archiviare il segreto.
-
La schermata seguente mostra i dettagli dell'utente marymajor
per uno specifico server Transfer Family. Questo esempio mostra tre tasti e le relative passphrase corrispondenti.
Client supportati PGP
I seguenti client sono stati testati con Transfer Family e possono essere utilizzati per generare PGP chiavi e crittografare file che si intende decrittografare con un flusso di lavoro.
-
Gpg4win+ Kleopatra.
Nota
Quando selezioni Firma/Crittografa i file, assicurati di deselezionare l'opzione Sign as: attualmente non supportiamo la firma per i file criptati.
-
Principali versioni di GnuPG: 2.4, 2.3, 2.2, 2.0 e 1.4.
Tieni presente che potrebbero funzionare anche altri PGP clienti, ma solo i clienti qui menzionati sono stati testati con Transfer Family.