Nota:
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriversi a un account gratuito, vedere Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti Oracle Cloud Infrastructure. Al termine del laboratorio, sostituire questi valori con quelli specifici del tuo ambiente cloud.
Genera chiavi SSH
Introduzione
Il protocollo SSH (Secure Shell) è un metodo per eseguire il login remoto sicuro da un computer all'altro. SSH consente l'amministrazione sicura dei sistemi e i trasferimenti dei file su reti non sicure utilizzando la cifratura per proteggere le connessioni tra gli endpoint. Le chiavi SSH sono una parte importante dell'accesso sicuro alle istanze di computazione di Oracle Cloud Infrastructure nel cloud.
Se si dispone già di una coppia di chiavi SSH, è possibile utilizzarla per connettersi all'ambiente. Si consiglia di utilizzare la Oracle Cloud Shell per eseguire l'interfaccia con l'istanza di computazione OCI che verrà creata. Oracle Cloud Shell è basata sul browser, non richiede l'installazione o la configurazione di alcun elemento sul laptop e funziona indipendentemente dall'impostazione della rete. Tuttavia, se si preferisce connettersi tramite il computer portatile, selezionare un'opzione in base alla configurazione.
Importante: se la chiave SSH non viene creata correttamente, non sarà possibile connettersi all'ambiente e acquisire gli errori. Assicurarsi di creare correttamente la chiave.
Opzione 1: Oracle Cloud Shell
Guarda il video di seguito per una panoramica dell'opzione Genera SSH Keys Cloud Shell.
Il computer Cloud Shell è una piccola virtual machine su cui è in esecuzione una shell Bash a cui si accede tramite la console OCI (Home page). Cloud Shell prevede una CLI OCI (Command Line Interface) preautenticata, impostata sull'area della home page della tenancy della console, nonché strumenti e utility aggiornati. Per utilizzare il computer Cloud Shell, l'amministratore della tenancy deve concedere il criterio IAM (Identity and Access Management) richiesto.
-
Per avviare la shell di Oracle Cloud, andare alla console cloud e fare clic sull'icona della shell cloud nella parte superiore destra della pagina.
-
Dopo aver avviato la shell cloud, immettere i comandi seguenti. Scegliere il nome chiave che è possibile ricordare. Si tratta del nome chiave che verrà utilizzato per connettersi a qualsiasi istanza di computazione creata. Premere Invio due volte per non passare alcuna passphrase.
mkdir .ssh cd .ssh ssh-keygen -b 2048 -t rsa -f <<sshkeyname>>
Nota: le parentesi angolari "" non devono essere visualizzate nel codice.
-
Esaminare i due file appena creati.
ls
Nell'output sono presenti due file, una chiave privata:
<<sshkeyname>>
e una chiave pubblica:<<sshkeyname>>.pub
. Mantenere la chiave privata sicura e non condividere il contenuto con nessuno. La chiave pubblica sarà necessaria per varie attività e potrà essere caricata su determinati sistemi, nonché copiata e incollata per agevolare le comunicazioni sicure nel cloud. -
Per elencare i contenuti della chiave pubblica, utilizzare il comando cat
cat <<sshkeyname>>.pub
Nota: le parentesi angolari "" non devono essere visualizzate nel codice.
-
Quando si incolla la chiave nell'istanza di computazione nei laboratori futuri, assicurarsi di rimuovere eventuali hard return aggiunti durante la copia. Il tasto .pub deve essere una riga.
Opzione 2: MacOS
Guarda il video di seguito per una panoramica sull'opzione Genera chiavi SSH Mac.
-
Se non si dispone già di un collegamento all'applicazione di terminale per MacOS, è possibile trovarlo nel menu Applicazioni > Utility o (Shift+Command+U) sulla tastiera.
-
Avviare Terminal e digitare il comando
ssh-keygen
. ssh-keygen chiederà dove salvare la chiave, accettare l'impostazione predefinita della cartella .ssh nella directory home premendo Invio. Il nome file saràid_rsa
o qualsiasi altro nome scelto per assegnare un nome alla chiave. Premere Invio due volte per non passare alcuna passphrase. Memorizzare la directory in cui è stata salvata la chiave (~/.ssh), sarà necessario farvi riferimento in un secondo momento quando crei l'istanza.ssh-keygen
-
Digitare i comandi seguenti nella finestra del terminale per verificare che le chiavi pubbliche e private siano state create e per copiare il contenuto della chiave pubblica da utilizzare per creare l'istanza nella finestra di dialogo OCI.
cd .ssh ls cat id_rsa.pub
Nell'output sono presenti due file, una chiave privata:
id_rsa
e una chiave pubblica:id_rsa.pub
. Mantenere la chiave privata sicura e non condividere il contenuto con nessuno. La chiave pubblica sarà necessaria per varie attività e potrà essere caricata su determinati sistemi, nonché copiata e incollata per agevolare le comunicazioni sicure nel cloud. -
Se si è pronti per creare un'istanza, copiarne il contenuto e incollarlo quando viene richiesto per la chiave SSH. Assicurarsi di rimuovere eventuali hard return aggiunti durante la copia.
Fare clic per il manuale MacOS Terminal User Guide
Opzione 3: Windows 10
Guarda il video di seguito per una panoramica sull'opzione Windows Genera chiavi SSH.
La creazione di chiavi per Windows può essere interessante come ssh-keygen
non era una utility nativa per Windows fino al rilascio di Windows 10. E non era incluso nelle build iniziali di Windows 10.
-
Aprire una finestra di comando Powershell sul sistema Windows 10 facendo clic sull'icona/telaio o digitando 'powershell' nel campo di ricerca nella barra Start.
-
Immettere il comando
ssh-keygen
nella finestra del terminale. Prestare particolare attenzione alla posizione in cui verrà salvato il file in modo da poterlo individuare in seguito. Il valore predefinito dissh-keygen
sarà la directory .ssh standard nella directory base dell'utente.ssh-keygen
-
Premere Invio per accettare la posizione predefinita, i nomi di file predefiniti e nessuna passphrase.
Nota: nelle varianti Unix, una cartella davanti a un punto (.) è stata in genere designata per i file di configurazione e 'nascosta' dalla visualizzazione normale. Tuttavia, un punto (.) non indica nulla di speciale davanti alle cartelle di Windows. La cartella esiste ma non verrà nascosta.
-
Verificare che le chiavi esistano e siano state create correttamente. Immettere i comandi riportati di seguito nella finestra Powershell.
cd .ssh ls cat id_rsa.pub
Ora si dispone di una coppia di chiavi SSH funzionante e può essere utilizzata per comunicazioni sicure alle istanze nel cloud. Non condividere con chiunque la chiave privata
id_rsa
a meno che non si comprenda ciò che si sta facendo. Dovresti condividere e copiare solo la chiave pubblicaid_rsa.pub
. -
Inoltre, se si sceglie di copiare o incollare il contenuto della chiave in alcune finestre di dialogo per i laboratori, sarà necessario individuare il file in Windows, tramite Powershell, Explorer o altri strumenti di directory, e aprire il file della chiave pubblica per copiarne il contenuto. L'esempio riportato di seguito utilizza Powershell per
cat
il contenuto. È possibile selezionare il testo con il mouse, ma i comandi Copia/Incolla non sono disponibili. Utilizzare<ctrl-c>
per copiare il contenuto negli Appunti da incollare in altre finestre di dialogo dell'applicazione.In alternativa è possibile aprire il file con Blocco note, Wordpad o altri editor di testo.
Nota: non utilizzare MS Word o altri editor di testo avanzato in quanto potrebbero aggiungere caratteri di formattazione aggiuntivi che renderanno la chiave inutilizzabile.
Opzione 4: Versioni Windows precedenti
Usa Git
Nelle versioni precedenti di Windows, ssh-keygen non era una utility nativa, quindi le utility di terze parti hanno dovuto essere utilizzate. In questa sezione verrà illustrato come utilizzare Git for Windows. Git for Windows include una shell di tipo Unix denominata Git Bash
che verrà utilizzata per creare le chiavi e stabilire comunicazioni SSH con i sistemi host cloud. Se si preferisce PuTTY, passare alla sezione successiva.
-
Se non è già installato, accedere al collegamento riportato di seguito e scaricare l'applicazione. Se non riesci a installare nulla sul tuo laptop a causa di problemi di autorizzazione, utilizza l'opzione Oracle Cloud Shell sopra riportata.
-
Seguire le istruzioni per l'installazione.
Nota: l'installazione di Git per Windows non rientra nell'ambito di questa esercitazione.
-
Una volta installata, nel menu Start di Windows dovrebbe essere presente una voce per Git che deve includere il comando Git Bash. Fare clic sul comando Git Bash.
-
Digitare
ssh-keygen
nella finestra del terminale. Premere due volte il tasto Invio per accettare la posizione predefinita (~/.ssh) e il nome file predefinito (id_rsa) e<Enter>
senza passphrase.ssh-keygen
Nota: la parte complessa in questa sezione è che Git Bash utilizza una directory home Unix simulata. Per visualizzare, recuperare o copiare le chiavi, sarà necessario accedere alla struttura delle directory di Windows.
-
Prima spostarsi 'up' nella directory C: radice.
cd c:
Quindi navigare 'down' nella cartella .ssh nella directory home normale.
cd Users/<your home folder name>/.ssh/
Nota: le parentesi angolari <> non devono essere visualizzate nel codice.
ls
Nell'output sono presenti due file, una chiave privata:
id_rsa
e una chiave pubblica:id_rsa.pub
. Mantenere la chiave privata sicura e non condividere il contenuto con nessuno. La chiave pubblica sarà necessaria per varie attività e potrà essere caricata su determinati sistemi, nonché copiata e incollata per agevolare le comunicazioni sicure nel cloud. -
Prendere nota della posizione dei file delle chiavi pubblica e privata SSH. È possibile che venga richiesto di caricare il file o di copiare/incollare il contenuto in altri laboratori per Oracle Cloud Services. Copiare esattamente il contenuto della chiave, acquisendo uno spazio dopo i caratteri della chiave potrebbe rendere la chiave non valida. Nell'esempio seguente, è possibile utilizzare il comando gitbash
cat
per visualizzare il contenuto del file della chiave pubblica. È possibile selezionare il contenuto del file chiave e fare clic con il pulsante destro del mouse per Copia il tasto. In alternativa è possibile caricare direttamente il file.Nota: se si è già installato Git per Windows, non utilizzare PuTTY. È la tua scelta l'utilità da utilizzare per la generazione di chiavi e l'accesso al terminale.
Utilizzare PuTTY
Nelle versioni precedenti di Windows, ssh-keygen non era una utility nativa, quindi le utility di terze parti hanno dovuto essere utilizzate. In questa sezione verrà illustrato come utilizzare PuTTY. Se si preferisce Git for Windows, visitare l'opzione precedente a questo.
-
Se non è già installato, accedere al collegamento riportato di seguito e scaricare l'applicazione. Per i dipendenti Oracle, anche PuTTY è disponibile per il download internamente mediante l'applicazione MyDesktop. Per dipendenti e clienti non Oracle, utilizzare il collegamento riportato di seguito. Se non riesci a installare nulla sul tuo laptop a causa di problemi di autorizzazione, utilizza l'opzione Oracle Cloud Shell sopra riportata.
-
Seguire le istruzioni per l'installazione.
Nota: l'installazione di PuTTY non rientra nell'ambito di questo documento di laboratorio.
Una volta installata, è necessario disporre di una voce nel menu Start di Windows e forse di una scelta rapida per PuTTY. PuTTY è in realtà una suite di utility di comunicazione sicure. Ne verranno utilizzati due, la utility PuTTY per l'accesso al terminale e la utility PuTTYgen per generare una chiave SSH sicura.
-
Aprire il menu Start di Windows e individuare la cartella PuTTY. Selezionare la utility PuTTYgen.
-
Verificare che i valori predefiniti siano selezionati e che il tipo di chiave sia RSA impostato su 2048 bit. Fare clic sul pulsante Genera.
-
Seguire le istruzioni e spostare il mouse intorno all'area grigia vuota per generare informazioni casuali. PuTTY utilizza queste informazioni per generare una chiave SSH sicura e casuale.
-
Nella schermata seguente, PuTTY ha preso le informazioni del mouse e creato un tasto. Qui dobbiamo fare diverse cose che sono un po ’ diverse rispetto ad altri metodi di generazione chiave. Sebbene non sia possibile utilizzare effettivamente il file per un'istanza OCI, salvare comunque la chiave per riferimento futuro. Fare clic sul pulsante Salva chiave pubblica.
Nota: PuTTY non salva le chiavi in un formato compatibile con OpenSSH. Pertanto, se si carica un file di chiave pubblica creato con PuTTY in un sistema Linux/Unix utilizzando OpenSSH, la chiave non verrà letta correttamente. Tuttavia, le informazioni chiave, se copiate direttamente dall'applicazione PuTTYgen, funzionano correttamente quando pasted funziona in campi che utilizzano tali informazioni per creare una chiave compatibile OpenSSH corretta. Ad esempio, quando si crea un'istanza su OCI, è possibile incolla la chiave SSH da PuTTY e funzionerà correttamente.
-
Nella finestra di dialogo Salva chiave pubblica come:, assegnare un nome alla chiave e aggiungere l'estensione
.pub
al nome file. Sarà inoltre utile salvare il file nella cartella comune.ssh
sotto la struttura del nome utente/cartella di Windows. In questo esempio, i file-chiave saranno accessibili alla directoryC:\Users\<username>\.ssh
. Conservare le chiavi qui per un facile riferimento futuro. -
Successivamente sarà necessario salvare la chiave privata. Fare clic sul pulsante Salva chiave privata, rispondere Sì all'avvertenza relativa al salvataggio senza passphrase.
-
Assegnare un nome alla chiave e verificare che sia stata salvata con un'estensione
.ppk
per identificare il file come file di chiavi private. Non condividere la chiave privata con nessuno. -
Dopo aver salvato le chiavi per riferimento futuro, è necessario copiare le informazioni chiave dalla finestra di dialogo PuTTY.
-
Selezionare il testo del tasto nella finestra di dialogo dall'inizio alla fine, quindi fare clic con il pulsante destro del mouse e scegliere Copia. Successivamente, puoi incollare la chiave in un Blocco note o direttamente nella finestra di dialogo di creazione dell'istanza nella console OCI.
-
Di seguito è riportato un esempio della finestra di dialogo Aggiungi chiave SSH - Incolla chiavi SSH nel form di creazione dell'istanza OCI.
In questo modo si conclude la sezione sull'utilizzo di PuTTY per generare una coppia di chiavi SSH per le versioni di Windows prima di Windows 10.
Seguire le istruzioni riportate di seguito per connettersi a un'istanza cloud tramite SSH utilizzando il terminale PuTTY.
Connessione a un'istanza mediante PuTTY
-
Aprire la utility PuTTY dal menu di avvio di Windows. Nella finestra di dialogo immettere l'indirizzo IP dell'istanza di computazione OCI. Può essere ottenuto dalla schermata Console OCI > Computazione > Istanze > Dettagli istanza.
-
In Categoria selezionare Connessione, quindi scegliere il campo Dati. Immettere il nome utente dell'istanza assegnata. Per impostazione predefinita, le istanze OCI saranno il nome utente
opc
. Immettereopc
. -
In Categoria passare a Connessione - SSH e scegliere la categoria Auth. Fare clic sul pulsante Sfoglia e individuare il valore
private key file
creato nel passo precedente. Fare clic sul pulsante Open per avviare la connessione SSH all'istanza cloud. -
Fare clic su Yes per ignorare l'avviso di sicurezza sulla chiave non memorizzata nella cache.
-
Connessione riuscita. Sei ora connesso in modo sicuro a un'istanza di OCI Cloud.
Ora è possibile connettersi in modo sicuro utilizzando la utility di terminale PuTTY. È possibile salvare le informazioni di connessione per uso futuro e configurare PuTTY con le proprie impostazioni personalizzate.
Nota: se si è già installato PuTTY, non utilizzare Git per Windows. È la tua scelta da utilizzare per la generazione di chiavi e l'accesso al terminale.
Opzione 5: chiavi SSH per Linux
-
Aprire una finestra del terminale e digitare il comando
ssh-keygen
. Sono disponibili alcune opzioni della riga di comando per la utility ssh-keygen; tuttavia, per la creazione rapida e sporca di chiavi per l'uso in laboratorio, non sono necessarie opzioni. Digitaressh-keygen --help
nella finestra del terminale per visualizzare tutte le opzioni possibili. Per il momento, eseguire il comando da solo.ssh-keygen
-
Eseguire questo comando dalla directory home. In questo caso come ID utente
opc
. Viene utilizzata per impostazione predefinita una directory nascosta,~/.ssh
. Se non sono già state create chiavi, accettare il nome file predefinitoid_rsa
premendo il tasto Invio. Premere il tasto Invio due volte per creare un tasto senza passphrase. Le migliori prassi in un ambiente di produzione consisterebbero nell'utilizzare una passphrase sicura, ma non dobbiamo preoccuparci di questi laboratori di esercitazione.Nella finestra di dialogo viene indicato che la coppia di chiavi è stata salvata nella directory
/home/username/.ssh
ed è ora pronta per l'uso. -
Spostarsi nella directory
.ssh
ed esaminare le chiavi.cd .ssh ls
Nell'output sono presenti due file, una chiave privata:
id_rsa
e una chiave pubblica:id_rsa.pub
. Proteggere la chiave privata e non condividerne il contenuto con nessuno. La chiave pubblica sarà necessaria per varie attività e potrà essere caricata su determinati sistemi, nonché copiata e incollata per agevolare le comunicazioni sicure nel cloud. -
Utilizzare il comando Linux
cat
per visualizzare il contenuto diid_rsa.pub
.cat id_rsa.pub
-
In alcuni laboratori dovrai caricare o copiare (rcp) la chiave pubblica in un'istanza per agevolare le comunicazioni. Ricorda quindi dove viene conservato il file. Altri laboratori chiederanno che i 'contenuti' della chiave vengano incollati in varie finestre di dialogo per facilitare le connessioni sicure. Utilizzare il comando
cat
e copiare/incollare le informazioni dalla chiave a partire dalla parola "ssh-rsa" e copiare tutto fino al carattere finale nella riga. Nell'esempio che segue, si dovrebbe copiare da "ssh-rsa ... " e a esattamente dopo "... -01". Copiare esattamente il contenuto della chiave, acquisendo uno spazio dopo i caratteri della chiave potrebbe rendere la chiave non valida.È stata creata una coppia di chiavi SSH pubblica/privata e può essere utilizzata in qualsiasi laboratorio Oracle OCI che richiede una chiave SSH.
Se si è interessati, fare clic qui per ulteriori dettagli su SSH, una breve esercitazione sull'avvio di una connessione da un'istanza Linux con le chiavi SSH appena create.
Riconoscimenti
- Autore - Dan Kingsley (Enablement Specialist, OSPA)
- Contributori: Kay Malcolm, Tom McGinn, Kamryn Vinson, Anil Nair
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di apprendimento gratuito sul canale Oracle Learning YouTube. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare il sito Oracle Help Center.