Pagina 1 di 1

Installazione e configurazione di un tunnel SSH

Inviato: 04/06/2024, 11:05
da FrancyDotNet
In un mondo sempre più interconnesso, la necessità di accedere in modo sicuro e affidabile a risorse remote è diventata cruciale per professionisti IT, sviluppatori e utenti avanzati. Creare un tunnel SSH tra due computer situati in luoghi fisicamente separati è una tecnica potente e rapida che permette di stabilire connessioni sicure attraverso Internet, bypassando le limitazioni imposte dalle reti locali e dai firewall.

Immaginiamo uno scenario in cui un utente ha due computer, denominati rispettivamente PC1 e PC2, collocati in due località distinte, come ad esempio l'ufficio o la propria abitazione. Questi computer, collegati a Internet tramite router, necessitano di comunicare tra loro attraverso una connessione cifrata e sicura. Questo articolo guiderà il lettore attraverso i passaggi necessari per configurare correttamente un tunnel SSH, garantendo l'integrità e la riservatezza dei dati scambiati tra i due terminali, e fornendo una soluzione robusta per accedere a servizi remoti come se fossero locali.


:ras: 1. Configurazione di un Tunnel SSH tra PC1 e PC2
Per creare un tunnel SSH tra due computer situati in luoghi diversi, seguire questi passaggi dettagliati:

Installazione del server SSH: Assicurati che entrambi i computer abbiano il server SSH installato e attivo. Per questo passaggio vi rimando alla sezione Realizzare un server SSH in cui viene trattata tutta la parte dall'installazione all'esecuzione del server SSH.

Indirizzo IP pubblico per il PC2: Ottieni l'indirizzo IP pubblico di PC2. Puoi trovare l'IP pubblico cercando "qual è il mio IP" su Google mentre sei su PC2.

Port forwarding sul router del PC2: Configura il port forwarding sul router di PC2 per inoltrare le richieste SSH (porta 22) all'indirizzo IP locale di PC2.


:knight: 2. Configurazione del Port Forwarding
Accedi all'interfaccia web del router di PC2 e cerca l'opzione di port forwarding. Imposta una regola per inoltrare le connessioni in entrata sulla porta 22 all'indirizzo IP locale di PC2. Questo passaggio varia in base al modello del router, quindi consulta il manuale del tuo router per istruzioni dettagliate. Per approfondire l'argomento consiglio di leggere la nostra guida Come configurare il Port Forwarding.


:pc_matrix: 3. Creazione del Tunnel SSH
Connettiti dal PC1 al PC2 utilizzando SSH: Sul PC1, apri un terminale e inserisci il comando seguente:
ssh -L [porta_locale]:localhost:[porta_remota] utente@indirizzo_ip_pubblico_PC2
Sostituisci:
  • porta_locale con la porta che vuoi utilizzare localmente su PC1 (ad esempio, 8080).
  • porta_remota con la porta del servizio a cui vuoi accedere su PC2 (ad esempio, 22 per un'ulteriore connessione SSH o un'altra porta specifica di un servizio).
  • utente con il nome utente utilizzato per accedere a PC2.
  • indirizzo_ip_pubblico_PC2 con l'indirizzo IP pubblico di PC2.
Ad esempio, se vuoi accedere alla porta 22 di PC2 tramite la porta 8080 di PC1:

Codice: Seleziona tutto

ssh -L 8080:localhost:22 utente@123.123.123.123
Accesso al servizio tramite tunnel: Dopo aver stabilito il tunnel SSH, puoi accedere al servizio sulla porta remota come se fosse locale. Ad esempio, per connetterti tramite SSH a PC2 utilizzando il tunnel stabilito:

Codice: Seleziona tutto

ssh -p 8080 utente@localhost

Considerazioni di Sicurezza
Utilizzo delle chiavi SSH: Utilizza chiavi SSH per l'autenticazione invece delle password per una maggiore sicurezza.

Configurazione del firewall: Assicurati che il firewall sul router e su PC2 permetta le connessioni in ingresso sulla porta 22.

Indirizzo IP statico o DDNS: Se l'indirizzo IP pubblico di PC2 cambia frequentemente, considera l'uso di un servizio di DNS dinamico (DDNS) per avere un hostname che si aggiorna automaticamente con il nuovo IP.

Seguendo questi passaggi, sarai in grado di creare un tunnel SSH tra i due computer, garantendo un accesso sicuro e affidabile ai servizi remoti come se fossero locali.

Re: Installazione e configurazione di un tunnel SSH

Inviato: 04/06/2024, 11:08
da FrancyDotNet
Realizzare un tunnel SSH utilizzando PuTTY :arrow: Preparazione del nostro Server SSH:
Per prima cosa dobbiamo procurarci un server SSH col quale collegarci. Questo passaggio è relativamente semplice poichè ci basterebbe eseguire una distribuzione LiveCD di Linux oppure se vogliamo divertirci un pò di più possiamo configurare un servizio SSH su un nostro computer.
Non mi dilungherò su come configurare il server perchè abbiamo già il thread dedicato, però due cose ci tengo a dirle. Se avete bisogno di un server SSH "al volo" va bene una distribuzione LiveCD di Linux (io vi consiglio BackBox), se invece pensate di volerlo installare come servizio su un vostro dispositivo allora vi consiglio di installare un software per creare server SSH.

:arrow: Abilitiamo l'inoltro della porta SSH sul router:
Una volta configurato il server dobbiamo renderlo accessibile dall'esterno. Anche qui si potrebbero aprire ulteriori argomentazioni, tuttavia mi limiterò solo ad elencare 4 semplici passaggi:
  1. Accedete al vostro router di casa (tramite interfaccia web)
  2. Una volta entrati, cercate una sezione dov'è possibile eseguire il "port forwarding" (ovvero l'inoltro delle porte)
  3. Settate la porta esterna, ad esempio la 12345 (per carità non usate la porta 22), e reindirizzate il traffico verso l'indirizzo IP e la porta del vostro server SSH (se viene richiesto, indicate il protocollo TCP).
  4. Ultimo passaggio ma non meno importante salvate le impostazioni.
Molto bene, una volta fatto questo avete aperto la porta del vostro computer verso il mondo di Internet. Tranquilli, non vi allarmate, in realtà non siete più esposti di quando navigate su Internet. Ragazzi, quando si entra nel mondo dei server bisogna famigliarizzare con realtà come questa. Ragion per cui prima di eseguire procedure delicate come questa bisogna comprendere a cosa si va incontro oppure "le conseguenze di ciò potrebbero essere disastrose".

:arrow: Configuriamo PuTTY sul nostro client:
Ora ci divertiamo!
Apriamo il programma PuTTY e subito vediamo alcuni dei parametri base per la nostra connessione:
  • Host name (or IP address): in questo campo dobbiamo inserire l'indirizzo IP del server a cui ci vogliamo collegare.
  • Port: in questo campo dobbiamo inserire la porta del server a cui ci vogliamo collegare.
  • Connection type: la connessione predefinita all'avvio di PuTTY è sempre di tipo SSH, quindi va bene cosi com'è.
  • Save Sessions: (facoltativo) consiglio di dare un nome o un titolo a questa connessione (es. "PC-CASA") in modo da non dover reimpostare i dati ogni volta. Cliccare sul pulsante Save per memorizzare i dati.
  • Close windows on exit: (facoltativo) lasciamo la spunta su Only on clean exit
Immagine

Durante la prima connessione all'host di destinazione ci verrà chiesto se vogliamo aggiungere il computer a cui ci stiamo collegando al registro delle connessione sicure.

Immagine
  • Se ci fidiamo e vogliamo aggiungere l'host al registro di PuTTY premiamo sul pulsante SI.
  • Se ci fidiamo ma non vogliamo aggiungere l'host al registro di PuTTY premiamo sul pulsante NO.
  • Se non ci fidiamo dell'host di destinazione premiamo sul pulsante Cancel.
In questo modo ci stiamo connettendo dal computer dell'ufficio tramite web browser,impostando il proxy per puntare a localhost utilizzando il tunnel SSH avviato con PuTTY, al computer a casa tramite SSH. Il traffico Internet dal browser verrà instradato attraverso il tunnel SSH crittografato verso il computer a casa, consentendoci di navigare in modo sicuro utilizzando la connessione Internet del computer domestico.


:good: Senza voler togliere nulla al post di Logan e precedenti, di seguito vi propongo dei link che spiegano in modo più approfondito l'argomento.

:arrow: https://intranet.cs.hku.hk/csintranet/c ... orward.jsp

:arrow: https://www.akadia.com/services/ssh_putty.html

:arrow: https://www.gandotech.net/tutto-devi-sa ... eling-ssh/

:arrow: https://www.michelebologna.net/2008/com ... con-putty/


:lol: Ovviamente la letteratura italiana a riguardo scarseggia mentre quella in inglese sovrabbonda.

Re: Realizzare un server SSH

Inviato: 04/06/2024, 11:08
da FrancyDotNet
:pirate2: Una bella comodità è quella di entrare con le proprie chiavi di accesso senza dover scrivere ogni volta la propria password.

1. Come generare la chiave sul server
Come primo importante step creeremo la chiavi di accesso, una pubblica e una privata utilizzando il comando ssh-keygen di OpenSSH. Iniziamo con l'aprire un terminale e scriviamo questo comando:

Codice: Seleziona tutto

ssh-keygen -t rsa -b 2048
In questo caso abbiamo appena richiesto la creazione della chiavi di accesso utilizzando la crittografia RSA con una dimensione di 2048 bit (consigliati 4096 bit). Verranno create 2 chiavi:
  • id_rsa.pub: è la chiave pubblica, da conservare sul server.
  • id_rsa: è la chiave privata, da spostare sul client.
Ora dobbiamo rinominare il file id_rsa.pub in authorized_keys perchè OpenSSH si aspetta di leggere quel file per consentire l'accesso. Digitiamo quindi:

Codice: Seleziona tutto

mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
Lato server abbiamo finito.

2. Trasferimento delle informazioni sui client
Adesso dobbiamo reperire il file id_rsa (la chiave privata per intenderci) dal nostro server. Una soluzione rapida è quella di utilizzare un software come FileZilla o WinSCP per connettersi al server in modalità SFTP e scaricare la chiave.
Una volta in possesso della chiave privata dobbiamo convertirla in un nuovo formato poichè il programma PuTTY non è in grado di leggere la chiave generata da OpenSSH. Ci viene incontro il programma PuTTY Key Generator (PuTTYgen).
  • Cliccate sul pulsante Load...
  • Cercate il file id_rsa (impostando il filtro Tutti i file (*.*))
  • Una volta trovato selezionate il file id_rsa e premete sul pulsante Apri
  • Successivamente premete sul pulsante Save private key.
3. Settare la connessione con PuTTY
Apriamo il programma PuTTY iniziamo con l'inserire il nome dell'host (oppure il suo indirizzo IP se lo conoscete) e la porta alla quale ci dobbiamo connettere (di solito la 22).
Spostiamoci sulla voce Connection Data e digitare il nome utente col quale dovremo collegarci nel campo Auto-login username.
Spostiamoci ancora su Connection SSH Auth. ed utilizzando il pulsante Sfoglia cerchiamo la chiave privata salvata poco fa con PuTTYgen.
Torniamo sulla pagina iniziale Session e clicchiamo sul pulsante Save per memorizzare tutti questi passaggi.
Lato client abbiamo finito.
Le informazioni di questo post sono tratte da questa guida: Accedere ad un server SSH senza dover digitare la password


:coool: Trovo che questa procedura sia molto comoda ed efficace. :roll: Tuttavia in alcuni contesti può diventare pericolosa in quanto se il server non è ben protetto con delle policy adeguate è possibile che la chiave pubblica venga rubata. :lol: Ad ogni modo, se vogliamo dirla tutta, questo sistema è più sicuro di una password scritta su post-it... ;) ci siamo capiti vero?