[RISOLTO] Connessioni remote via ssh

La rete, Internet, configurazione di Servizi e tutto ciò che permette la comunicazione tra macchine

Re: Connessioni remote via ssh

Messaggioda giocupo » 13/01/2019, 15:34

grazie ancora
riproverò
giocupo
Newbie
Newbie
 
Messaggi: 37
Iscritto il: 06/01/2019, 17:58

Re: Connessioni remote via ssh

Messaggioda giocupo » 14/01/2019, 20:25

Salve a chi è in "ascolto",
Il tunnell ssh inverso come da https://www.howtoforge.com/reverse-ssh-tunneling
non mi funziona.

Ho trovato un sito https://linuxhostsupport.com/blog/how-t ... -on-linux/
che mi dice che devo attivare sul server non nattato la porta 1999 che utilizzerò con il comando:
# iptables -I INPUT 1 -p tcp --dport 1999 -j ACCEPT
Fatto.

Inoltre lo stesso sito dice di rendere persistente il tunnell ssh sul NAT con il comando
# autossh -M 20110 -o “ServerAliveInterval=20” -R 1999:localhost:22 pi@xxx.yyy.it & >/dev/null 2>&1

Fatto ma.. sembra che accetti il comando ma dopo poco mi dice che è INTERROTTO!

Se qualche gentile "ascoltatore" ha indicazioni da darmi gli sarei molto grato.

Se non ci sono novità continuerò a studiare l'ipotesi di costruire una VPN.
Grazie in ogni caso
giocupo
Newbie
Newbie
 
Messaggi: 37
Iscritto il: 06/01/2019, 17:58

Re: Connessioni remote via ssh

Messaggioda Aki » 25/01/2019, 8:26

Ciao, hai fatto progressi ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 8704
Iscritto il: 27/12/2007, 16:59

Re: Connessioni remote via ssh

Messaggioda giocupo » 30/01/2019, 11:26

Aki ha scritto:Ciao, hai fatto progressi ?


Ciao,
Non ho avuto tempo di fare prove. La seconda casa in questa stagione
è poco frequentata.
Tra un paio di settimane farò una prova ulteriore (di reverse ssh) con parametri diversi
e indicazioni leggermente diverse trovate su Internet.

Ti sapro dire se funziona
Grazie per l'attenzione
giocupo
Newbie
Newbie
 
Messaggi: 37
Iscritto il: 06/01/2019, 17:58

Re: Connessioni remote via ssh

Messaggioda mrdebug » 31/01/2019, 15:12

Ciao, in passato avevo provato e non mi aveva funzionato.
Avevamo infatti notato che a differenza delle utenze adsl, le utenze con sim, assegnano al modem un ip che non è quello che ad esempio compare se si va sui sito mioip. In pratica è un ip che vale solo all'interno della rete mobile.
mrdebug
Sr. Member
Sr. Member
 
Messaggi: 368
Iscritto il: 23/07/2005, 7:38

Re: Connessioni remote via ssh

Messaggioda Aki » 17/03/2019, 15:36

Ciao giocupo,

Nell’ultimo messaggio odierno che hai inviato ponendo un diverso quesito sembrerebbe che hai risolto il problema: puoi confermarlo e fornire ulteriori indicazioni sulla soluzione trovata?

Grazie.
Aki
Global Moderator
Global Moderator
 
Messaggi: 8704
Iscritto il: 27/12/2007, 16:59

Re: Connessioni remote via ssh

Messaggioda giocupo » 17/03/2019, 16:28

ciao AKI
Ti confermo che ho risolto al 95% i problemi relativi alla connessione SSH INVERSA.
Ho scritto un paio di paginette di documentazione per descrivere i passaggi eseguiti per ottenerla.
SE lo ritieni utile le posso pubblicare dimmi la forma e dove.
Ciao
giocupo
Newbie
Newbie
 
Messaggi: 37
Iscritto il: 06/01/2019, 17:58

Re: Connessioni remote via ssh

Messaggioda Aki » 17/03/2019, 17:24

Grazie per il riscontro. In prima battuta, puoi allegare il documento ad un successivo messaggio di questa discussione. In seconda battuta, se sei disponibile, puoi scrivere una pagina del wiki di Debianizzati sull’argomento.
Aki
Global Moderator
Global Moderator
 
Messaggi: 8704
Iscritto il: 27/12/2007, 16:59

Re: Connessioni remote via ssh

Messaggioda giocupo » 17/03/2019, 19:03

Attivare SSH Inverso
Per chiarire meglio le problematiche può essere utile una immagine delle due reti e delle necessità di comunicazione:
Immagine
Tunnel SSH inverso
PRIMA Modalità con costruzione dei comandi da terminale


Tunnel Inverso
Fin dall'origine potevo eseguire una connessione SSH dalla rete NAT verso il SERVER. La necessità che avevo era quella di fare manutenzione software ai dispositivi dietro la rete NAT lavorando dal SERVER. Il tunneling SSH in ambiente linux risolve il problema.

* Supponiamo che l'IP di destinazione (rete locale 2) 192.168.0.40 (pi@raspy) Linux (nattato) a cui si desidera accedere dal server).
* Il server (rete locale 1) ha indirizzo locale 192.168.1.50 (pi@banana). Il server è accessibile dall'esterno con servizio Dyndns xxx.addns.org (pi@banana )
* SSH diretto pi@raspy → pi@xxx.addns.org
* SSH Inverso pi@xxx.addns.org → pi@raspy

1. SSH dalla destinazione (NAT) verso la sorgente (Server con IP pubblico) utilizzando il comando seguente:
pi@raspy:~$ ssh -R 1999:localhost:22 pi@xxx.addns.org

Dopo la richiesta di Password siete connessi con pi@banana:~$
* La porta 1999 può essere una qualsiasi porta inutilizzata è la porta su cui avverrà la connessione ssh Inversa..

2. Dal terminale aperto sopra si deve aprire la porta con il comando:

pi@banana:~$ sudo iptables -I INPUT 1 -p tcp --dport 1999 -j ACCEPT

verifica apertura porta:
2.A Dal terminale aperto sopra si verifica se la porta 1999 è aperta

pi@banana:~$ sudo iptables -L -vn

dovresti avere in output
Chain INPUT (policy ACCEPT 178 packets, 11976 bytes)
pkts bytes target prot opt in out source destination
3 180 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1999


La risposta chiave, che tutto è ok, sta nella riga che termina con tcp dpt:1999

3. Ora è possibile fare SSH inverso dal terminale del server (server pi@banana ) alla destinazione (NAT) attraverso il reverse tunneling SSH:

pi@banana:~$ ssh localhost -p 1999

se tutto è ok, dopo la richiesta di password, siete collegati al (NAT) pi@raspy:~$

* la connessione tra destinazione (NAT) e sorgente (Server) deve essere attiva in ogni momento.
NOTA: in sede di istallazione sarebbe bene spostare il router NAT in prossimità del Server. Se si tratta di prima e seconda casa non è comodo inviare comandi dalla seconda casa e poi verificare se tutto e OK dalla prima casa.
====================================================
Automatizzare il tunnel inverso
SECONDA Modalità

La prima modalità funziona ma in caso di caduta della connessione o di caduta dell'alimentazione si deve rifare. Meglio automatizzare con script se possibile.
1. Da nat (pi@raspy) creare le chiavi pubbliche con i comandi:
Le chiavi pubbliche consentono di connettersi via SSH senza richiesta di password
pi@raspy:~$ sudo -i
root@raspy:~# ssh-keygen

rispondere sempre invio senza inserire password.
al termine dovete avere le seguenti dir e i file relativi:
pi@raspy:~$ cd .ssh
pi@raspi:~/.ssh$ ls -l
output:
-rw------- 1 pi pi 950 mar 13 13:26 id_rsa
-rw-r--r-- 1 pi pi 950 mar 13 13:26 id_ras.pub


2. Da nat (pi@raspy) copiare le chiavi pubbliche sul server (pi@banana or
pi@xxx.addns.org ) con i comandi:
pi@raspy:~$ sudo -i
root@raspy:~# ssh-copy-id -i /home/pi/.ssh/id_rsa pi@xxx.addns.org

3. Ora da nat potete collegarvi al Server senza Password con il comando:
pi@raspy:~$ ssh pi@xxx.addns.org
collegati a banana con il comando list:
pi@banana:~$ ls .ssh
vi deve mostrare
-rw-r--r-- 1 pi pi 3155 mar 15 18:37 authorized_keys

queste sono le chiavi pubbliche trasferite sul server

4. Rendiamo stabile la connessione tra Server e NAT
Scrivo il seguente script di connessione(~Documenti/invssh.sh):
#!/bin/bash
autossh -tt -M 0 -o "ServerAliveInterval 30" -R 1999:localhost:22 pi@xxx.addns.org & >/dev/null 2>&1 &

su nat da terminale con il comando:

pi@raspy:~$ ~Documenti/invssh.sh

Si apre automaticamente la connessione (senza richiesta di password) sulla porta 1999 e il terminale pi@raspy:~$ si collega a

pi@banana:~$

Se chiudo il terminale di (NAT) la connessione desiderata si mantiene.

5. Ora dal terminale del Server posso eseguire ssh inverso:

pi@banana:~$ssh localhost -p 1999

ti richiede la pasword e quindi ti collega con il (NAT)

pi@raspy:~$

ora puoi fare manutenzione ai computer della rete nattata!
Piccolo vantaggio se cade la connessione di rete il client NAT ri-esegue automaticamente la connessione ssh per il tunnel inverso.

COSA Manca: far partire (su NAT) lo script al boot in modo che, in caso di caduta di alimentazione, si riavvi automaticamente il tunnel inverso.
Ultima modifica di giocupo il 18/03/2019, 11:52, modificato 1 volta in totale.
giocupo
Newbie
Newbie
 
Messaggi: 37
Iscritto il: 06/01/2019, 17:58

Re: Connessioni remote via ssh

Messaggioda Aki » 17/03/2019, 23:28

Grazie.
Aki
Aki
Global Moderator
Global Moderator
 
Messaggi: 8704
Iscritto il: 27/12/2007, 16:59

Re: Connessioni remote via ssh

Messaggioda giocupo » 18/03/2019, 12:02

Completamento SSH inverso
Per avviare al boot lo script che attiva client NAT citato sopra file (~Documenti/invssh.sh) sono necessari questi passaggi.
1. Copiare le chiavi pubbliche generate in /home/pi/.ssh/ in /root/.ssh/ con i comandi:
pi@raspy:~$ sudo -i
root@raspy:~# cd .ssh
root@raspy:~/.ssh# scp /home/pi/.ssh/id* .
dopo la copia dovreste avere:
root@raspy:~/.ssh# ls -l
output:
-rw------- 1 root root 1675 mar 18 11:36 id_rsa
-rw-r--r-- 1 root root 390 mar 18 11:36 id_rsa.pub


2. inserire in rc.local l'avvio dello script (~Documenti/invssh.sh)

Ora se eseguite il reboot del client (NAT) attiverete la connessione ssh inversa.

3. dal Server potete avviare la connessione SSH Inversa con

pi@banana:~$ssh localhost -p 1999

ti richiede la pasword e quindi ti collega con il (NAT)
pi@raspy:~$

Saluti
giocupo
Newbie
Newbie
 
Messaggi: 37
Iscritto il: 06/01/2019, 17:58

Precedente

Torna a Network

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti