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 SSH e PGP in Transfer Family
In questa sezione, puoi trovare informazioni sulle chiavi SSH, 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 le chiavi RSA, ECDSA ed ED25519.
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
-
Per ED25519:
ssh-ed25519
-
Per RSA:
-
rsa-sha2-256
-
rsa-sha2-512
-
-
Per ECDSA:
-
ecdsa-sha2-nistp256
-
ecdsa-sha2-nistp384
-
ecdsa-sha2-nistp521
-
Nota
ssh-rsa
Supportiamo SHA1 per le nostre vecchie politiche di sicurezza. Per informazioni dettagliate, vedi Algoritmi crittografici.
Genera chiavi SSH 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 le chiavi SSH sono archiviati all'interno del servizio. La chiave SSH 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ù chiavi SSH pubbliche su file con 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 di AWS Directory Service per Microsoft Active Directory.
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 chiavi SSH su macOS, Linux o Unix
Nei sistemi operativi macOS, Linux o Unix, si utilizza il ssh-keygen
comando per creare una chiave pubblica SSH e una chiave privata SSH, nota anche come coppia di chiavi.
Per creare chiavi SSH 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 formato RSA, ECDSA ed ED25519. 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 chiavi RSA 4096 bit:
ssh-keygen -t rsa -b 4096 -f
key_name
-
Per generare una coppia di chiavi ECDSA a 521 bit (ECDSA ha dimensioni in bit di 256, 384 e 521):
ssh-keygen -t ecdsa -b 521 -f
key_name
-
Per generare una coppia di chiavi ED25519:
ssh-keygen -t ed25519 -f
key_name
Nota
è il nome del file della coppia di chiavi SSH.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 coppia di chiavi SSH è ora pronta per l'uso. Segui i passaggi 3 e 4 per archiviare la chiave pubblica SSH 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 pubblica SSH 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 pubbliche SSH, scegli Aggiungi chiave pubblica SSH.
-
Incolla il testo della chiave pubblica che hai generato nella casella di testo della chiave pubblica SSH, quindi scegli Aggiungi chiave.
La nuova chiave è elencata nel riquadro delle chiavi pubbliche SSH.
-
Creazione di chiavi SSH su Microsoft Windows
Windows utilizza un formato della coppia di chiavi SSH leggermente diverso. La chiave pubblica deve essere nel formato PUB
e la chiave privata deve essere nel formato PPK
. In Windows, puoi utilizzare PuTTYgen per creare una coppia di chiavi SSH nei formati appropriati. Puoi anche utilizzare PuTTYgen per convertire una chiave privata generata utilizzando ssh-keygen
in un file .ppk
.
Nota
Se si presenta a WinSCP un file di chiave privata non .ppk
in formato, quel client offre la possibilità di convertire la chiave .ppk
in formato per voi.
Convertire una chiave pubblica SSH2 in formato PEM
AWS Transfer Family accetta solo chiavi pubbliche in formato PEM. Se hai una chiave pubblica SSH2, devi convertirla. Una chiave pubblica SSH2 ha il seguente formato:
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20160402" AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URI : : ---- END SSH2 PUBLIC KEY ----
Una chiave pubblica PEM ha il seguente formato:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA...
Esegui il comando seguente per convertire una chiave pubblica in formato SSH2 in una chiave pubblica in formato PEM. Sostituisci
ssh2-key con il nome della tua chiave
SSH2 e la chiave PEM con il nome della tua chiave PEM.
ssh-keygen -i -f
ssh2-key
.pub >PEM-key
.pub
Ruota le chiavi SSH
Per motivi di sicurezza, consigliamo la migliore pratica di ruotare le chiavi SSH. Di solito, questa rotazione viene specificata come parte di una politica di sicurezza e viene implementata in modo automatico. A seconda del livello di sicurezza, per una comunicazione altamente sensibile, una coppia di chiavi SSH potrebbe essere utilizzata una sola volta. In tal modo si elimina qualsiasi rischio causato da chiavi archiviate. Tuttavia, è molto più comune archiviare le credenziali SSH per un periodo di tempo e impostare un intervallo che non imponga un onere eccessivo agli utenti. Un intervallo di tempo di tre mesi è la norma.
Sono disponibili due metodi per eseguire la rotazione di chiavi SSH:
-
Sulla console, puoi caricare una nuova chiave pubblica SSH ed eliminare una chiave pubblica SSH esistente.
-
Utilizzando l'API, è possibile aggiornare gli utenti esistenti utilizzando l'DeleteSshPublicKeyAPI per eliminare la chiave pubblica Secure Shell (SSH) di un utente e l'ImportSshPublicKeyAPI per aggiungere una nuova chiave pubblica Secure Shell (SSH) all'account dell'utente.
Genera e gestisci le chiavi PGP
È possibile 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, fornite una chiave PGP.
Il blog AWS sullo storage ha un post che descrive come decrittografare semplicemente i file senza scrivere alcun codice utilizzando i flussi di lavoro Transfer Family Managed, crittografare e decrittografare i file con PGP e
Genera chiavi PGP
L'operatore utilizzato per generare le chiavi PGP 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 per te.
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 generatore di chiavi PGP, si esegue 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, scegli RSA o ECC. Tuttavia, se scegli ECC, assicurati di scegliere uno dei due NIST o BrainPool per la curva ellittica. Non scegliete. Curve 25519
Algoritmi supportati per le coppie di chiavi PGP
Supportiamo i seguenti algoritmi per le coppie di chiavi PGP:
-
RSA
-
Elgamal
-
ECC.:
-
NIST
-
BrainPool
-
Nota
Non supportiamo le chiavi CCurve25519.
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 tue chiavi PGP, usa. AWS Secrets Manager
Nota
Il tuo nome segreto include l'ID del server Transfer Family. Ciò significa che dovreste aver già identificato o creato un server prima di poter memorizzare le informazioni della chiave PGP. AWS Secrets Manager
Se desideri utilizzare una chiave e una passphrase per tutti i tuoi utenti, puoi memorizzare le informazioni sul blocco delle chiavi PGP sotto il nome segretoaws/transfer/
, dove si server-id
/@pgp-default
trova l'ID del tuo server Transfer Family. Transfer Family utilizza questa chiave predefinita se non esiste una chiave in cui server-id
corrisponde all'utente che sta eseguendo il flusso di lavoro. user-name
È 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 private PGP, per server Transfer Family, per utente.
Per configurare le chiavi PGP da utilizzare con la decrittografia
-
A seconda della versione di GPG che stai utilizzando, esegui uno dei seguenti comandi per generare una coppia di chiavi PGP 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 le chiavi PGP. -
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 vostra chiave PGP.
-
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 quando hai generato la tua coppia di key pair PGP.
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
-
-
Seleziona 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.
![La AWS Secrets Manager console, che mostra la pagina dei dettagli segreta con tre chiavi e passphrase per un server e un utente Transfer Family.](images/pgp-secrets-02.png)
Client PGP supportati
I seguenti client sono stati testati con Transfer Family e possono essere utilizzati per generare chiavi PGP e per 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.
Se firmi il file crittografato e tenti di caricarlo su un server Transfer Family con un flusso di lavoro di decrittografia, ricevi il seguente errore:
Encrypted file with signed message unsupported
-
Principali versioni di GnuPG: 2.4, 2.3, 2.2, 2.0 e 1.4.
Nota che potrebbero funzionare anche altri client PGP, ma solo i client qui menzionati sono stati testati con Transfer Family.