Che cos'è SSH?

Completato

SSH è l'acronimo del protocollo secure shell. SSH usa una connessione client-server per configurare un tunnel tra un computer locale (il client) e un computer remoto (il server). SSH consente di accedere in modo sicuro a una macchina remota, a una macchina virtuale o a un contenitore tramite una connessione di rete. È possibile considerare il computer che si sta usando come computer locale e una macchina virtuale o un computer fisico in ufficio come computer remoto a cui è necessario accedere.

Per connettersi tramite SSH, è necessario disporre di un server SSH in esecuzione. In genere, la connessione viene autenticata usando chiavi SSH, che comporta la generazione di una coppia di chiavi pubblica e privata. Dopo aver generato la coppia di chiavi, la chiave pubblica viene inserita nel server e la chiave privata viene mantenuta segreta nel client. Quando viene avviata una connessione, il server verifica che il client disponga della chiave privata corretta. Dopo la verifica, al client viene concesso l'accesso al server e viene stabilita una connessione sicura.

Diagramma che mostra il funzionamento dell'autenticazione SSH.

Uso di SSH per lo sviluppo

Si vuole esplorare la configurazione di un computer remoto per ogni applicazione su cui opera l'agenzia. Ogni computer è il proprio ambiente di sviluppo remoto a cui è possibile accedere senza bisogno di file dell'applicazione nel computer locale. Ecco alcuni modi in cui connettersi a un computer remoto usando SSH può arrecare dei vantaggi alla propria agenzia:

  • Connettersi in modo sicuro al computer remoto con lo stesso sistema operativo in cui è distribuita l'applicazione.
  • Passare facilmente da una connessione SSH all'altra a seconda dell'applicazione su cui si sta lavorando.
  • Nel computer remoto sono installati automaticamente gli strumenti e le dipendenze corretti.
  • Accedere all'ambiente di sviluppo remoto da computer o posizioni diverse.

Configurazione di un computer remoto per SSH

Un modo per configurare un computer remoto consiste nel configurare una macchina virtuale (VM) per l'uso di SSH. Esistono molte opzioni di configurazione diverse per le VM, ad esempio il sistema operativo e le dimensioni. La macchina virtuale deve essere configurata con le stesse proprietà necessarie per lo sviluppo di applicazioni dell'agenzia. Ad esempio, se l'applicazione viene distribuita in un computer Linux, è consigliabile usare una macchina virtuale Linux.

La macchina virtuale deve anche essere configurata per l'uso di SSH generando la coppia di chiavi SSH e consentendo le connessioni in ingresso sulla porta 22. La porta 22 è la porta predefinita usata per le connessioni SSH. Dopo aver configurato queste impostazioni SSH nella VM, questa diventa un server SSH con un indirizzo IP pubblico univoco per le connessioni sicure.

Nella sezione successiva si configurerà una VM Linux per configurare il proprio server SSH.