Avvio di un Cloud Server nella cloud di HostingSolutions.it (II)

Nella lezione precedente abbiamo visto come avviare un cloud server sulla piattaforma di Hosting Solutions. Dopo aver avviato il server possiamo amministrarlo usando la console VNC integrata nel pannello di amministrazione.

Nella lezione precedente abbiamo visto come avviare un cloud server sulla piattaforma di Hosting Solutions.  Dopo aver avviato il server possiamo amministrarlo usando la console VNC integrata nel pannello di amministrazione. Nella maggior parte dei casi è però preferibile accedere alla macchina usando una connessione ssh, perché garantisce una maggiore sicurezza oltre ad essere uno standard consolidato. La connessione ssh è un caso particolare di connessione TCP/IP che avviene attraverso la normale rete, identificando il cloud server tramite il suo indirizzo IP. Ciò significa che chiunque, disponendo dell’indirizzo IP della macchina, potrebbe tentare di collegarsi al nostro server. Ovviamente di solito è necessario conoscere la credenziali di accesso (login e password), ma nel caso di un server dedicato a scopi professionali questa sicurezza potrebbe non essere abbastanza.

 

La piattaforma cloud computing di Hosting Solutions offre una garanzia in più. Invece delle normali credenziali di accesso viene utilizzato un certificato a chiave pubblica/privata. Senza entrare nei particolari, un certificato è una tecnologia di criptazione che permette una sicurezza molto maggiore di qualunque credenziale basata sull’identificazione dell’utente tramite una password. Per quello che ci riguarda a noi basta sapere che il cloud server sarà associato a una certa coppia di chiavi, in inglese keypair. Questa coppia di chiavi si concretizza in un file contenente alcuni caratteri: scaricando il file sul nostro computer, e segnalandolo al software che usiamo per aprire la connessione ssh, ci autentichiamo in modo semplice e sicuro.

 

Il certificato (cioè il contenuto associato alle keypair) è un piccolo file che dobbiamo custodire con estrema attenzione, come se fosse una password. È importante non divulgare il contenuto del file, perché sarebbe come rendere pubblica la nostra password. Tramite questo meccanismo possiamo aprire una connessione ssh senza digitare alcuna password, perché il sistema ci riconoscerà proprio in virtù del certificato che mostriamo al momento dell’accesso. L’unica complicazione è quella di richiedere un po’ di configurazione la prima volta che eseguiamo l’accesso. Vediamo come fare, procedendo passo passo e identificando i possibili problemi.

 

La prima cosa da fare è creare una nuova keypair. In alternativa potremmo usare una di quelle già esistenti, ma è sempre utile sapere come crearne una nuova, in modo da poterla assegnare in modo unico al nostro cloud server. La condivisione di una stessa keypair tra diversi server può essere utile nel momento in cui vogliamo accedere a tutte le macchine usando lo stesso certificato.

 

Per creare una nuova chiave entriamo nel menù Gestione Keypair e clicchiamo su Nuova. Ci verrà chiesto il nome della chiave, come in figura 1.

 

pemssh01

 

 

 

Dopo aver creato la chiave comparirà un messaggio che contiene il testo del certificato, ovvero

 

 

 

 

 

 

 

 

 

pemssh02

 

 

 

A questo punto possiamo scegliere tra due opzioni: possiamo copiare il contenuto del certificato all’interno di un file vuoto, facendo attenzione a copiare tutti i caratteri compresi tra “—–BEGIN RSA PRIVATE KEY—–” e “—–END RSA PRIVATE KEY—–” (compresi). Oppure possiamo attendere la ricezione della mail con allegato il certificato. In ogni caso alla fine della procedura ci troveremo con un file di piccole dimensioni (1KB): questo è il nostro certificato che dobbiamo salvare in un luogo sicuro.

Configurazione dell’istanza.

Dopo aver salvato il certificato possiamo procedere con la creazione dell’istanza, seguendo la procedura illustrata nella lezione precedente. È importante creare la keypair prima dell’istanza cloud, perché l’associazione tra server cloud e keypair ci viene chiesta solo al momento della creazione del server, ovvero non può essere cambiata successivamente. Nel momento in cui creiamo il server specifichiamo il nome della chiave che abbiamo creato. Ad esempio, se la nostra chiave si chiama my-keypair, creeremo il server nel seguente modo:

 

 

 

pemssh03

 

Notiamo la scelta del Security Group avente nome default. Questa non è una scelta obbligata: possiamo assegnare al nostro server un qualunque gruppo, purché esso sia configurato in modo corretto. Quello che ci interessa, in particolare, è che il gruppo associato al server permetta la connessione TCP sulla porta 22, altrimenti non saremo in grado di raggiungere la macchina via ssh. Per controllare la configurazione dei gruppi clicchiamo su Gestione Security Group: si aprirà il pannello dove possiamo controllare i diversi gruppi:

 

 

 

pemssh04

 

Per verificare la configurazione di un gruppo clicchiamo sul pulsante modifica. A titolo di esempio riportiamo la configurazione corretta di un gruppo:

 

Figura 4 – Configurazione di un gruppo  (corretta)

 

Creazione di un security group sul cloud computing di HostingSolutions.it

 

Dopo aver verificato la configurazione clicchiamo su Chiudi. A titolo di esempio mostriamo anche la configurazione di un gruppo che non permette la connessione ssh:

 

pemssh05

 

Quando siamo certi che il gruppo associato al cloud server sia configurato in modo corretto possiamo collegarci alla macchina. Ovviamente ci servirà il certificato, ovvero la keypair che abbiamo creato nella pagina precedente.

Connessione SSH

Il modo di collegarsi alla macchina via ssh dipende dal sistema operativo. Le modalità dettagliate di collegamento sono illustrate qui. Riassumiamo quali sono i passaggi principali della procedura.

 

http://www.hostingsolutions.it/guide/istanzeconkeypair.php

 

Come prima cosa proviamo ad eseguire un ping sull ‘IP del server. Se non otteniamo risposta significa che abbiamo sbagliato indirizzo IP, oppure che il Security Group è configurato in modo errato. Finché non risolviamo questo problema chiaramente non riusciremo nemmeno a collegarci via ssh, perché la connessione andrà in timeout:

 

pemssh07

 

Se invece riusciamo a raggiungere la macchina mediante il comando ping, possiamo provare a collegarci. L’istruzione che permette di collegamento è la seguente:

 

 

 

ssh -l root -i my-keypair.pem 1.2.3.4

 

 

 

Dove le ultime quattro cifre sono l’indirizzo IP del server. Se utilizziamo un certificato sbagliato otterremo un errore come questo

 

pemssh08

 

In questo caso significa che abbiamo sbagliato a copiare il certificato, oppure stiamo usando quello associato ad un altro macchina. L’unico modo di risolvere il problema è recuperare il certificato corretto. Se l’abbiamo perso, visto che non è possibile cambiare l’associazione tra macchina e keypair dopo averla creata, saremo costretti a ricreare l’istanza cloud da capo.

 

Supponendo di avere a disposizione il certificato corretto, a seconda dell’ambiente di lavoro potremmo trovarci un errore come questo

 

pemssh09

 

Ciò significa che il certificato ha dei permessi troppo “larghi”, ovvero l’accesso al certificato è troppo permissivo. Per riuscire ad usarlo in modo corretto dobbiamo respingere i permessi sul file del certificato, ad esempio eseguendo il comando

 

chomod 000 my-keypair.pem

 

In questo caso siamo stati molto severi, togliendo tutti i permessi (configurazione 000) al file del certificato. I permessi da assegnare dipendono dal sistema operativo e dalla shell che usiamo per aprire la connessione ssh.

 

A questo punto possiamo provare nuovamente a connetterci. Se tutto va bene riusciremo ad entrare con la login root, senza inserire alcuna password (cioè premendo direttamente invio si ci viene chiesta la passo).

 

pemssh10

 

Le problematiche discusse qui sopra sono soltanto un esempio di possibile trouble-shooting del collegamento ssh verso la macchina virtuale. In altri casi l’operazione potrebbe essere molto più semplice e veloce: abbiamo scelto di discutere alcuni dei possibili problemi per aiutare l’utente poco esperto a barcamenarsi in qualunque situazione.

 

Se usiamo Windows possiamo replicare la procedura appena vista usando un sorta di emulatore, come ad esempio CygWin. Altrimenti, in modo ancora più semplice, possiamo usare putTY: la procedura per installare, configurare e connettersi ad un cloud server usando putTY è illustrata qui.

 

http://www.hostingsolutions.it/guide/istanzeconkeypair.php

Facci sapere cosa ne pensi!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *