

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
<a name="key-management"></a>

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 AWS Transfer Family and AWS Lambda](https://aws.amazon.com/blogs/storage/enabling-user-self-service-key-management-with-aws-transfer-family-and-aws-lambda/). Per la distribuzione e la gestione automatizzate degli utenti con più chiavi SSH, consulta. [Moduli Transfer Family Terraform](terraform.md)

**Nota**  
AWS Transfer Family accetta RSA, ECDSA e ED25519 chiavi per l'autenticazione SSH.

Questa sezione spiega anche come generare e gestire le chiavi Pretty Good Privacy (PGP).

Per una panoramica completa di tutti gli algoritmi di crittografia e chiave supportati, inclusi consigli per diversi casi d'uso, consulta. [Panoramica sulla crittografia e sugli algoritmi chiave](#encryption-algorithms-overview)

## Panoramica sulla crittografia e sugli algoritmi chiave
<a name="encryption-algorithms-overview"></a>

AWS Transfer Family supporta diversi tipi di algoritmi per scopi diversi. Capire quali algoritmi utilizzare per ogni specifico caso d'uso aiuta a garantire trasferimenti di file sicuri e compatibili.


**Riferimento rapido all'algoritmo**  

| Caso d'uso | Algoritmo consigliato | Conforme a FIPS | Note | 
| --- | --- | --- | --- | 
| Autenticazione SSH/SFTP | RSA (rsa-sha2-256/512), ECDSA o ED25519 | RSA: Sì, ECSA: Sì, no ED25519 | Compatibile con tutti i client e server SSH | 
| Generazione di chiavi PGP | RSA o ECC (NIST) | Sì | Per la decrittografia del flusso di lavoro | 
| Crittografia dei file PGP | AES-256 | Sì | Determinato dal software PGP | 

## Algoritmi di autenticazione SSH
<a name="ssh-authentication-algorithms"></a>

Questi algoritmi vengono utilizzati per SSH/SFTP l'autenticazione tra client e AWS Transfer Family server. Scegli uno di questi quando generi coppie di chiavi SSH per l'autenticazione dell'utente o le chiavi dell'host del server.

RSA (consigliato)  
**Compatibile con tutti i client e server SSH e conforme a FIPS.** Utilizzalo con l'hashing SHA-2 per una maggiore sicurezza:  
+ `rsa-sha2-256`- Consigliato per la maggior parte dei casi d'uso
+ `rsa-sha2-512`- Opzione di sicurezza più elevata

ED25519  
**Moderno ed efficiente.** Chiavi di dimensioni ridotte con elevata sicurezza:  
+ `ssh-ed25519`- Veloce e sicuro, ma non conforme allo standard FIPS

ECDSA  
**Opzione curva ellittica.** Buon equilibrio tra sicurezza e prestazioni:  
+ `ecdsa-sha2-nistp256`- Curva standard
+ `ecdsa-sha2-nistp384`- Curva di sicurezza più elevata
+ `ecdsa-sha2-nistp521`- Curva di sicurezza più elevata

**Nota**  
Supportiamo `ssh-rsa` SHA1 le politiche di sicurezza più vecchie. Per informazioni dettagliate, vedi [Algoritmi crittografici](security-policies.md#cryptographic-algorithms).

**Scegliere l'algoritmo SSH giusto**
+ **Per la maggior parte degli utenti:** usa RSA con o `rsa-sha2-256` `rsa-sha2-512`
+ **Per la conformità FIPS:** utilizza algoritmi RSA o ECDSA
+ **Per ambienti moderni:** ED25519 offre sicurezza e prestazioni eccellenti

## Algoritmi di crittografia e decrittografia PGP
<a name="pgp-encryption-algorithms"></a>

PGP (Pretty Good Privacy) utilizza due tipi di algoritmi che collaborano per crittografare e decrittografare i file nei flussi di lavoro:

1. **Algoritmi di coppie di chiavi**: utilizzati per generare le coppie di chiavi per la crittografia e le firme digitali public/private 

1. **Algoritmi simmetrici**: utilizzati per crittografare i dati effettivi del file (gli algoritmi di key pair crittografano la chiave simmetrica)

### Algoritmi di key pair PGP
<a name="pgp-key-algorithms"></a>

Scegli uno di questi algoritmi quando generi coppie di chiavi PGP per la decrittografia del flusso di lavoro:

RSA (consigliato)  
**Consigliato per la maggior parte degli utenti.** Ampiamente supportato, consolidato e conforme allo standard FIPS. Fornisce un buon equilibrio tra sicurezza e compatibilità.

ECC (crittografia a curva ellittica)  
**Più efficiente di RSA** con chiavi di dimensioni ridotte pur mantenendo una sicurezza elevata:  
+ Curve **NIST: curve** standard ampiamente supportate e conformi a FIPS
+ **BrainPool curve - Curve alternative per requisiti di conformità specifici**
+ **Curve25519** - Curva moderna ad alte prestazioni che offre una forte sicurezza con un calcolo efficiente

ElGamal  
**Algoritmo legacy.** Supportato per la compatibilità con i sistemi precedenti. Usa RSA o ECC per nuove implementazioni.

Per istruzioni dettagliate sulla generazione di chiavi PGP, consulta. [Genera chiavi PGP](generate-pgp-keys.md)

### Algoritmi di crittografia simmetrica PGP
<a name="pgp-symmetric-algorithms"></a>

Questi algoritmi crittografano i dati effettivi dei file. L'algoritmo utilizzato dipende da come il file PGP è stato creato dal software PGP:

**Algoritmi conformi a FIPS (consigliati per ambienti regolamentati)**
+ **AES-128, AES-192, AES-256 - Advanced Encryption Standard (**consigliato)
+ **3DES** - Triple Data Encryption Standard (legacy, usa AES quando possibile)

**Altri algoritmi supportati**
+ IDEA, Blowfish CAST5, DES, CAMELLIA-128, CAMELIA-192 TwoFish, CAMELIA-256

**Nota**  
Non si sceglie direttamente l'algoritmo simmetrico quando si utilizzano AWS Transfer Family i flussi di lavoro: è determinato dal software PGP utilizzato per creare il file crittografato. Tuttavia, è possibile configurare il software PGP in modo da preferire algoritmi conformi a FIPS come AES-256.

Per ulteriori informazioni sugli algoritmi simmetrici supportati, vedere. [Algoritmi di crittografia simmetrica supportati](nominal-steps-workflow.md#symmetric-algorithms)

# Genera chiavi SSH per utenti gestiti dal servizio
<a name="sshkeygen"></a>

È 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](https://docs.aws.amazon.com//general/latest/gr/transfer-service.html) 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](custom-idp-intro.md) o [Utilizzo di AWS Directory Service per Microsoft Active Directory](directory-services-users.md).

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.

**Topics**
+ [Creazione di chiavi SSH su macOS, Linux o Unix](macOS-linux-unix-ssh.md)
+ [Creazione di chiavi SSH su Microsoft Windows](windows-ssh.md)
+ [Conversione di una SSH2 chiave in formato chiave pubblica SSH](convert-ssh2-public-key.md)

# Creazione di chiavi SSH su macOS, Linux o Unix
<a name="macOS-linux-unix-ssh"></a>

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.

**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 premendo **Enter** due volte quando richiesto), perché i server Transfer Family non possono richiedere una password all'avvio.

**Per creare chiavi SSH su un sistema operativo macOS, Linux o Unix**

1. Sui sistemi operativi macOS, Linux o Unix, apri un terminale di comando.

1. AWS Transfer Family accetta chiavi in formato RSA, ECDSA e. ED25519 Scegliete il comando appropriato in base al tipo di coppia di chiavi che state generando.

   **Suggerimento**: `key_name` sostituiscilo con il nome effettivo del tuo file di key pair SSH.
   + 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 ED25519 key pair:

     ```
     ssh-keygen -t ed25519 -f 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]-----+
   ```

   **Suggerimento**: quando si esegue il `ssh-keygen` comando come illustrato in precedenza, vengono create le chiavi pubbliche e private 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.

1. Accedere al `key_name.pub` file e aprirlo.

1. Copia il testo e incollalo nella **chiave pubblica SSH** per l'utente gestito dal servizio.

   1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/), quindi seleziona **Server dal pannello** di navigazione.

   1. Nella pagina **Server**, seleziona l'**ID server** per il server che contiene l'utente che desideri aggiornare.

   1. Seleziona l'utente per il quale stai aggiungendo una chiave pubblica.

   1. Nel riquadro delle **chiavi pubbliche SSH**, scegli **Aggiungi chiave pubblica SSH**.  
![\[La AWS Transfer Family console, che mostra i dettagli utente per un utente selezionato.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/edit-user-add-key-01.png)

   1. Incolla il testo della chiave pubblica che hai generato nella casella di testo della chiave pubblica SSH, quindi scegli **Aggiungi chiave**.  
![\[La AWS Transfer Family console, che mostra la pagina Aggiungi chiave per aggiungere una chiave pubblica.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/edit-user-add-key-02.png)

      La nuova chiave è elencata nel riquadro delle chiavi pubbliche SSH.  
![\[La AWS Transfer Family console, che mostra la chiave pubblica appena aggiunta nella sezione delle chiavi pubbliche SSH.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/edit-user-add-key-03.png)

# Creazione di chiavi SSH su Microsoft Windows
<a name="windows-ssh"></a>

Windows include OpenSSH come funzionalità integrata, che puoi usare per generare chiavi SSH nello stesso formato di Linux o macOS. In alternativa, puoi utilizzare strumenti di terze parti come il generatore di chiavi (Pu) di PuTTY. TTYgen

## Utilizzo di OpenSSH integrato in Windows
<a name="windows-openssh"></a>

Le versioni recenti di Windows includono OpenSSH per impostazione predefinita. Puoi usare gli stessi `ssh-keygen` comandi descritti nella sezione macOS/Linux:

1. Apri Windows PowerShell o il prompt dei comandi.

1. Esegui uno dei seguenti comandi in base al tipo di chiave che desideri generare:
   + 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:

     ```
     ssh-keygen -t ecdsa -b 521 -f key_name
     ```
   + Per generare una ED25519 key pair:

     ```
     ssh-keygen -t ed25519 -f key_name
     ```

1. Segui gli stessi passaggi della macOS/Linux sezione per caricare la tua chiave pubblica su AWS Transfer Family.

## Utilizzo di Pu TTYgen (strumento di terze parti)
<a name="windows-puttygen"></a>

Alcuni client SSH di terze parti per Windows, come PuTTY, utilizzano formati di chiave diversi. PuTTY utilizza il formato per `PPK` le chiavi private. Se utilizzi PuTTY o strumenti correlati come WinSCP, puoi usare TTYgen Pu per creare chiavi in questo formato.

**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.

[Per un tutorial sulla creazione di chiavi SSH utilizzando PuTTYgen, consultate il sito Web SSH.com.](https://www.ssh.com/ssh/putty/windows/puttygen)

# Conversione di una SSH2 chiave in formato chiave pubblica SSH
<a name="convert-ssh2-public-key"></a>

 AWS Transfer Family accetta solo chiavi pubbliche in formato SSH. 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 pubblica SSH ha il seguente formato:

```
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA...
```

Esegui il comando seguente per convertire una chiave pubblica SSH2 formattata in una chiave pubblica in formato SSH. *ssh2-key*Sostituiscila con il nome della tua SSH2 chiave e *ssh-key* con il nome della tua chiave SSH.

```
ssh-keygen -i -f ssh2-key.pub > ssh-key.pub
```

# Ruota le chiavi SSH
<a name="keyrotation"></a>

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.

**Nota**  
Per la rotazione automatica delle chiavi SSH utilizzando l'infrastruttura come codice, vedi. [Moduli Transfer Family Terraform](terraform.md)

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'[DeleteSshPublicKey](https://docs.aws.amazon.com//transfer/latest/APIReference/API_DeleteSshPublicKey.html)API per eliminare la chiave pubblica Secure Shell (SSH) di un utente e l'[ImportSshPublicKey](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ImportSshPublicKey.html)API per aggiungere una nuova chiave pubblica Secure Shell (SSH) all'account dell'utente.

------
#### [ Console ]

**Per eseguire una rotazione dei tasti nella console**

1. Aprire la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Vai alla pagina **Server**.

1. Scegli l'identificatore nella colonna **Server ID** per visualizzare la pagina dei **dettagli del server**.

1. In **Utenti**, seleziona la casella di controllo dell'utente di cui desideri ruotare la chiave pubblica SSH, quindi scegli **Azioni**, quindi scegli **Aggiungi chiave** per visualizzare la pagina **Aggiungi** chiave.

   or

   Scegli il nome utente per visualizzare la pagina dei **dettagli dell'utente**, quindi scegli **Aggiungi chiave pubblica SSH per visualizzare la pagina **Aggiungi** chiave**.

1. Inserisci la nuova chiave pubblica SSH e scegli **Aggiungi** chiave.
**Importante**  
Il formato della chiave pubblica SSH dipende dal tipo di chiave generata.  
Per le chiavi RSA, il formato è. `ssh-rsa string`
Per ED25519 le chiavi, il formato è`ssh-ed25519 string`.
Per le chiavi ECDSA, la chiave inizia con `ecdsa-sha2-nistp256``ecdsa-sha2-nistp384`, o`ecdsa-sha2-nistp521`, a seconda della dimensione della chiave generata. La stringa iniziale viene quindi seguita da`string`, in modo simile agli altri tipi di chiave.

   Si torna alla pagina dei **dettagli utente** e la nuova chiave pubblica SSH appena inserita viene visualizzata nella sezione **Chiavi pubbliche SSH**.

1. **Seleziona la casella di controllo della vecchia chiave you che desideri eliminare, quindi scegli Elimina.**

1. Conferma l'operazione di eliminazione inserendo la parola`delete`, quindi scegli **Elimina**.

------
#### [ API ]

**Per eseguire una rotazione delle chiavi utilizzando l'API**

1. Sui sistemi operativi macOS, Linux o Unix, apri un terminale di comando.

1.  Recupera la chiave SSH che desideri eliminare inserendo il seguente comando. Per utilizzare questo comando, `serverID` sostituiscilo con l'ID del server Transfer Family e sostituiscilo `username` con il tuo nome utente.

   ```
   aws transfer describe-user --server-id='serverID' --user-name='username'
   ```

   Il comando restituisce dettagli sull'utente. Copia il contenuto del `"SshPublicKeyId":` campo. Sarà necessario immettere questo valore più avanti in questa procedura. 

   ```
   "SshPublicKeys": [ { "SshPublicKeyBody": "public-key", "SshPublicKeyId": "keyID",
      "DateImported": 1621969331.072 } ],
   ```

1.  Quindi, importa una nuova chiave SSH per il tuo utente. Al prompt , immettere il comando di seguito. Per utilizzare questo comando, sostituiscilo `serverID` con l'ID del server Transfer Family, sostituiscilo `username` con il tuo nome utente e sostituiscilo `public-key` con l'impronta digitale della tua nuova chiave pubblica. 

   ```
   aws transfer import-ssh-public-key --server-id='serverID' --user-name='username'
      --ssh-public-key-body='public-key'
   ```

   ``Se il comando ha esito positivo, non viene restituito alcun output.

1.  Infine, elimina la vecchia chiave eseguendo il comando seguente. Per utilizzare questo comando, sostituiscilo `serverID` con l'ID del server Transfer Family, sostituiscilo `username` con il tuo nome utente e `keyID-from-step-2` sostituiscilo con il valore dell'ID chiave che hai copiato nel passaggio 2 di questa procedura 

   ```
   aws transfer delete-ssh-public-key --server-id='serverID' --user-name='username'
      --ssh-public-key-id='keyID-from-step-2'
   ```

1. (Facoltativo) Per confermare che la vecchia chiave non esiste più, ripetete il passaggio 2.

------

# Genera chiavi PGP
<a name="generate-pgp-keys"></a>

È 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. Per informazioni dettagliate sugli algoritmi delle chiavi PGP, compresi i consigli e la conformità FIPS, vedere. [Algoritmi di key pair PGP](key-management.md#pgp-key-algorithms)

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](https://aws.amazon.com/blogs/storage/encrypt-and-decrypt-files-with-pgp-and-aws-transfer-family/). AWS Transfer Family

L'operatore utilizzato per generare le chiavi PGP dipende dal sistema operativo e dalla versione del software di generazione di 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/.](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. Se scegli **ECC**, puoi scegliere tra BrainPool e Curve25519 per la NIST curva ellittica. 

**Sottocomandi utili `gpg`**

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 user-name`— Questo comando esporta la parte della chiave pubblica relativa alla `user-name` chiave utilizzata al momento della generazione della chiave.

# Gestire le chiavi PGP
<a name="manage-pgp-keys"></a>

Per gestire le tue chiavi PGP, usa. Gestione dei segreti AWS

**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. Gestione dei segreti AWS

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 segreto`aws/transfer/server-id/@pgp-default`, dove si `server-id` trova l'ID del tuo server Transfer Family. Transfer Family utilizza questa chiave predefinita se non esiste una chiave in cui `user-name` corrisponde all'utente che sta eseguendo il flusso di lavoro. 

È possibile creare una chiave per un utente specifico. In questo caso, il formato per il nome segreto è`aws/transfer/server-id/user-name`, dove `user-name` corrisponde all'utente che esegue il flusso di lavoro per un server Transfer Family.

**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**

1. A seconda della versione di GPG che stai usando, esegui uno dei seguenti comandi per generare una coppia di key pair PGP.
   + Se stai usando la **GnuPG** versione 2.3.0 o successiva, esegui il seguente comando:

     ```
     gpg --full-gen-key
     ```

     Puoi scegliere o**RSA**, se lo desideri, puoi scegliere **ECC** uno dei due **BrainPool** o **Curve25519** per la **NIST** curva ellittica. Se `gpg --gen-key` invece esegui, crei una key pair che utilizza l'algoritmo di crittografia ECC Curve 25519. 
   + Per le versioni **GnuPG** precedenti alla 2.3.0, è possibile utilizzare il comando seguente, 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 Gestione dei segreti AWS successiva di questa procedura. Inoltre, è necessario fornire lo stesso indirizzo e-mail per esportare la chiave privata nel passaggio successivo.

1. Esegui il comando seguente per esportare la chiave privata. Per utilizzare questo comando, sostituiscilo `private.pgp` con il nome del file in cui salvare il blocco di chiave privata e `marymajor@example.com` con l'indirizzo email che hai usato quando hai generato la coppia di chiavi.

   ```
   gpg --output private.pgp --armor --export-secret-key marymajor@example.com
   ```

1. <a name="store-pgp-key-details"></a> Gestione dei segreti AWS Utilizzatelo per memorizzare la vostra chiave PGP.

   1. Accedi a Console di gestione AWS e apri la Gestione dei segreti AWS console all'indirizzo. [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)

   1. Nel pannello di navigazione a sinistra, seleziona **Segreti**. 

   1. Nella pagina **Segreti**, scegli **Memorizza un nuovo segreto**.

   1. Nella pagina **Scegli il tipo di segreto**, per **Tipo segreto**, seleziona **Altro tipo di segreto**.

   1. 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.

   1. 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.  
![\[\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/pgp-secrets-01.png)
**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 chiavi **PGPPrivateKey2** e incolla un'altra chiave privata e passphrase. Per aggiungere un terzo set, i valori chiave devono essere e. **PGPPrivateKey3** **PGPPassphrase3**

   1. Scegli **Next (Successivo)**.

   1. 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/*server-id*/@pgp-default**. Sostituiscila `server-id` con l'ID del server che contiene il flusso di lavoro che prevede una fase di decrittografia.
      + Se stai creando una chiave che deve essere utilizzata da un utente Transfer Family specifico, inserisci**aws/transfer/*server-id*/*user-name***. Sostituiscilo `server-id` con l'ID del server che contiene il flusso di lavoro con una fase di decrittografia e sostituiscilo `user-name` con il nome dell'utente che esegue il flusso di lavoro. `user-name`Viene memorizzato nel provider di identità utilizzato dal server Transfer Family.

   1. Scegli **Avanti** e accetta le impostazioni predefinite nella pagina **Configura rotazione**. Quindi scegli **Successivo**.

   1. 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.

![\[\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/pgp-secrets-02.png)


# Client PGP supportati
<a name="pgp-key-clients"></a>

I seguenti client sono stati testati con Transfer Family e possono essere utilizzati per generare chiavi PGP e per crittografare i file che si intende decrittografare con un flusso di lavoro.
+ **GPG4win\$1 Kleopatra.** 
**Nota**  
Quando selezioni **Firma/Crittografa i file**, assicurati di deselezionare l'opzione **Sign as: attualmente non supportiamo la firma** per i file criptati.  

![\[\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/workflows-step-decrypt-kleopatra.png)

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.